<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>iomodule: Iomodule_v2_2</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.gif"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">iomodule
   </div>
   <div id="projectbrief">Xilinx SDK Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',false,false,'search.php','Search');
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__iomodule__v2__2.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">Iomodule_v2_2</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_i_o_module___config.html">XIOModule_Config</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef contains configuration information for the device.  <a href="struct_x_i_o_module___config.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_i_o_module___uart___stats.html">XIOModule_Uart_Stats</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Statistics for the UART.  <a href="struct_x_i_o_module___uart___stats.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_i_o_module___buffer.html">XIOModule_Buffer</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The following data type is used to manage the buffers that are handled when sending and receiving UART data in the interrupt mode.  <a href="struct_x_i_o_module___buffer.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_i_o_module___timer___stats.html">XIOModule_Timer_Stats</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Programmable Interval Timer statistics.  <a href="struct_x_i_o_module___timer___stats.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_i_o_module.html">XIOModule</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> driver instance data.  <a href="struct_x_i_o_module.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:gaba99b973ef1f13bf0a2716cf52ca5319"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gaba99b973ef1f13bf0a2716cf52ca5319">XTC_DEVICE_TIMER_COUNT</a>&#160;&#160;&#160;4</td></tr>
<tr class="memdesc:gaba99b973ef1f13bf0a2716cf52ca5319"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the number of timer counters within a single hardware device.  <a href="#gaba99b973ef1f13bf0a2716cf52ca5319">More...</a><br /></td></tr>
<tr class="separator:gaba99b973ef1f13bf0a2716cf52ca5319"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga22c78277a54b31ec738e72eca0662e35"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga22c78277a54b31ec738e72eca0662e35">XTC_TIMER_COUNTER_OFFSET</a>&#160;&#160;&#160;16</td></tr>
<tr class="memdesc:ga22c78277a54b31ec738e72eca0662e35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Each timer counter consumes 16 bytes of address space.  <a href="#ga22c78277a54b31ec738e72eca0662e35">More...</a><br /></td></tr>
<tr class="separator:ga22c78277a54b31ec738e72eca0662e35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad3154a9fc1e2fd70c0cc37772e15b907"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gad3154a9fc1e2fd70c0cc37772e15b907">XUL_RX_OFFSET</a>&#160;&#160;&#160;0x00000000</td></tr>
<tr class="memdesc:gad3154a9fc1e2fd70c0cc37772e15b907"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define the offsets from the base address for all the registers of the IO module, some registers may be optional in the hardware device.  <a href="#gad3154a9fc1e2fd70c0cc37772e15b907">More...</a><br /></td></tr>
<tr class="separator:gad3154a9fc1e2fd70c0cc37772e15b907"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0a78233dc7306487ebb9c5adebacac00"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga0a78233dc7306487ebb9c5adebacac00">XUL_TX_OFFSET</a>&#160;&#160;&#160;0x00000004</td></tr>
<tr class="memdesc:ga0a78233dc7306487ebb9c5adebacac00"><td class="mdescLeft">&#160;</td><td class="mdescRight">UART Transmit Register - W.  <a href="#ga0a78233dc7306487ebb9c5adebacac00">More...</a><br /></td></tr>
<tr class="separator:ga0a78233dc7306487ebb9c5adebacac00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga13cc5a4dd0ee4939136579f2e8dc9ce5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga13cc5a4dd0ee4939136579f2e8dc9ce5">XUL_STATUS_REG_OFFSET</a>&#160;&#160;&#160;0x00000008</td></tr>
<tr class="memdesc:ga13cc5a4dd0ee4939136579f2e8dc9ce5"><td class="mdescLeft">&#160;</td><td class="mdescRight">UART Status Register - R.  <a href="#ga13cc5a4dd0ee4939136579f2e8dc9ce5">More...</a><br /></td></tr>
<tr class="separator:ga13cc5a4dd0ee4939136579f2e8dc9ce5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa2bc39bbb18ba649d4afbe729ee246c0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gaa2bc39bbb18ba649d4afbe729ee246c0">XUL_BAUDRATE_OFFSET</a>&#160;&#160;&#160;0x0000004C</td></tr>
<tr class="memdesc:gaa2bc39bbb18ba649d4afbe729ee246c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">UART Baud Rate Register - W.  <a href="#gaa2bc39bbb18ba649d4afbe729ee246c0">More...</a><br /></td></tr>
<tr class="separator:gaa2bc39bbb18ba649d4afbe729ee246c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2dc06911d25b46e1ddad8e2938f95b4c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga2dc06911d25b46e1ddad8e2938f95b4c">XIN_IMR_OFFSET</a>&#160;&#160;&#160;0x0000000C</td></tr>
<tr class="memdesc:ga2dc06911d25b46e1ddad8e2938f95b4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Intr Mode Register - W.  <a href="#ga2dc06911d25b46e1ddad8e2938f95b4c">More...</a><br /></td></tr>
<tr class="separator:ga2dc06911d25b46e1ddad8e2938f95b4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3c685bb29e51f4564a7aea4d2d7fce34"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga3c685bb29e51f4564a7aea4d2d7fce34">XGO_OUT_OFFSET</a>&#160;&#160;&#160;0x00000010</td></tr>
<tr class="memdesc:ga3c685bb29e51f4564a7aea4d2d7fce34"><td class="mdescLeft">&#160;</td><td class="mdescRight">General Purpose Output - W.  <a href="#ga3c685bb29e51f4564a7aea4d2d7fce34">More...</a><br /></td></tr>
<tr class="separator:ga3c685bb29e51f4564a7aea4d2d7fce34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7602eedbe37417de638a1f7825f80132"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga7602eedbe37417de638a1f7825f80132">XGI_IN_OFFSET</a>&#160;&#160;&#160;0x00000020</td></tr>
<tr class="memdesc:ga7602eedbe37417de638a1f7825f80132"><td class="mdescLeft">&#160;</td><td class="mdescRight">General Purpose Input - R.  <a href="#ga7602eedbe37417de638a1f7825f80132">More...</a><br /></td></tr>
<tr class="separator:ga7602eedbe37417de638a1f7825f80132"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4c1ce88ba61c2e42054faaef40539556"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga4c1ce88ba61c2e42054faaef40539556">XIN_ISR_OFFSET</a>&#160;&#160;&#160;0x00000030</td></tr>
<tr class="memdesc:ga4c1ce88ba61c2e42054faaef40539556"><td class="mdescLeft">&#160;</td><td class="mdescRight">Intr Status Register - R.  <a href="#ga4c1ce88ba61c2e42054faaef40539556">More...</a><br /></td></tr>
<tr class="separator:ga4c1ce88ba61c2e42054faaef40539556"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga35c8f39e63012c1745df6faa39fc7335"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga35c8f39e63012c1745df6faa39fc7335">XIN_IPR_OFFSET</a>&#160;&#160;&#160;0x00000034</td></tr>
<tr class="memdesc:ga35c8f39e63012c1745df6faa39fc7335"><td class="mdescLeft">&#160;</td><td class="mdescRight">Intr Pending Register - R.  <a href="#ga35c8f39e63012c1745df6faa39fc7335">More...</a><br /></td></tr>
<tr class="separator:ga35c8f39e63012c1745df6faa39fc7335"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga12fbacf76cabd206d17acefd187fa7b4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga12fbacf76cabd206d17acefd187fa7b4">XIN_IER_OFFSET</a>&#160;&#160;&#160;0x00000038</td></tr>
<tr class="memdesc:ga12fbacf76cabd206d17acefd187fa7b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Intr Enable Register - W.  <a href="#ga12fbacf76cabd206d17acefd187fa7b4">More...</a><br /></td></tr>
<tr class="separator:ga12fbacf76cabd206d17acefd187fa7b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf12b5f9e19d0d544e8df96699db615bd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gaf12b5f9e19d0d544e8df96699db615bd">XIN_IAR_OFFSET</a>&#160;&#160;&#160;0x0000003C</td></tr>
<tr class="memdesc:gaf12b5f9e19d0d544e8df96699db615bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Intr Acknowledge Register - W.  <a href="#gaf12b5f9e19d0d544e8df96699db615bd">More...</a><br /></td></tr>
<tr class="separator:gaf12b5f9e19d0d544e8df96699db615bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga38a380fdcb3114c3db51524a8182c4ad"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga38a380fdcb3114c3db51524a8182c4ad">XTC_TLR_OFFSET</a>&#160;&#160;&#160;0x00000040</td></tr>
<tr class="memdesc:ga38a380fdcb3114c3db51524a8182c4ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Timer Load register - W.  <a href="#ga38a380fdcb3114c3db51524a8182c4ad">More...</a><br /></td></tr>
<tr class="separator:ga38a380fdcb3114c3db51524a8182c4ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad054cd3c12bc686f9be366e093c2f97a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gad054cd3c12bc686f9be366e093c2f97a">XTC_TCR_OFFSET</a>&#160;&#160;&#160;0x00000044</td></tr>
<tr class="memdesc:gad054cd3c12bc686f9be366e093c2f97a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Timer counter register - R.  <a href="#gad054cd3c12bc686f9be366e093c2f97a">More...</a><br /></td></tr>
<tr class="separator:gad054cd3c12bc686f9be366e093c2f97a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga81c9a818cb57cf5f106cf5a3b7c3c59f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga81c9a818cb57cf5f106cf5a3b7c3c59f">XTC_TCSR_OFFSET</a>&#160;&#160;&#160;0x00000048</td></tr>
<tr class="memdesc:ga81c9a818cb57cf5f106cf5a3b7c3c59f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Timer Control register - W.  <a href="#ga81c9a818cb57cf5f106cf5a3b7c3c59f">More...</a><br /></td></tr>
<tr class="separator:ga81c9a818cb57cf5f106cf5a3b7c3c59f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab675a4446c4ab809551ea73ad2ca962d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gab675a4446c4ab809551ea73ad2ca962d">XIN_IVAR_OFFSET</a>&#160;&#160;&#160;0x00000080</td></tr>
<tr class="memdesc:gab675a4446c4ab809551ea73ad2ca962d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Intr Vector Address Register, Interrupt 0 offset, present only for Fast Interrupt - W.  <a href="#gab675a4446c4ab809551ea73ad2ca962d">More...</a><br /></td></tr>
<tr class="separator:gab675a4446c4ab809551ea73ad2ca962d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga33cf5a2b5ddc5ae960235ce37cd6c32f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga33cf5a2b5ddc5ae960235ce37cd6c32f">XUL_SR_PARITY_ERROR</a>&#160;&#160;&#160;0x80</td></tr>
<tr class="memdesc:ga33cf5a2b5ddc5ae960235ce37cd6c32f"><td class="mdescLeft">&#160;</td><td class="mdescRight">UART status register bit position masks.  <a href="#ga33cf5a2b5ddc5ae960235ce37cd6c32f">More...</a><br /></td></tr>
<tr class="separator:ga33cf5a2b5ddc5ae960235ce37cd6c32f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaef49f4399d015532ee90cda2c0045324"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gaef49f4399d015532ee90cda2c0045324">XUL_SR_INTR_ENABLED</a>&#160;&#160;&#160;0x10</td></tr>
<tr class="memdesc:gaef49f4399d015532ee90cda2c0045324"><td class="mdescLeft">&#160;</td><td class="mdescRight">UART Interrupt enabled.  <a href="#gaef49f4399d015532ee90cda2c0045324">More...</a><br /></td></tr>
<tr class="separator:gaef49f4399d015532ee90cda2c0045324"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga76bf6a9a14882e45364a21693be7e920"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga76bf6a9a14882e45364a21693be7e920">XUL_SR_TX_FIFO_FULL</a>&#160;&#160;&#160;0x08</td></tr>
<tr class="memdesc:ga76bf6a9a14882e45364a21693be7e920"><td class="mdescLeft">&#160;</td><td class="mdescRight">UART Transmit FIFO full.  <a href="#ga76bf6a9a14882e45364a21693be7e920">More...</a><br /></td></tr>
<tr class="separator:ga76bf6a9a14882e45364a21693be7e920"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7a1722c4c799b50641831e1d092d9893"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga7a1722c4c799b50641831e1d092d9893">XUL_SR_RX_FIFO_VALID_DATA</a>&#160;&#160;&#160;0x01</td></tr>
<tr class="memdesc:ga7a1722c4c799b50641831e1d092d9893"><td class="mdescLeft">&#160;</td><td class="mdescRight">UART Data Register valid.  <a href="#ga7a1722c4c799b50641831e1d092d9893">More...</a><br /></td></tr>
<tr class="separator:ga7a1722c4c799b50641831e1d092d9893"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf9a9355e4872a6de8340af575c2aec72"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gaf9a9355e4872a6de8340af575c2aec72">XUL_STOP_BITS</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:gaf9a9355e4872a6de8340af575c2aec72"><td class="mdescLeft">&#160;</td><td class="mdescRight">UART stop bits are fixed at 1.  <a href="#gaf9a9355e4872a6de8340af575c2aec72">More...</a><br /></td></tr>
<tr class="separator:gaf9a9355e4872a6de8340af575c2aec72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3b04347e664ae6d55ebd9d2609191767"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga3b04347e664ae6d55ebd9d2609191767">XUL_PARITY_NONE</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:ga3b04347e664ae6d55ebd9d2609191767"><td class="mdescLeft">&#160;</td><td class="mdescRight">UART Parity definitions.  <a href="#ga3b04347e664ae6d55ebd9d2609191767">More...</a><br /></td></tr>
<tr class="separator:ga3b04347e664ae6d55ebd9d2609191767"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga230620599fe987b03b47e6d04a442e60"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga230620599fe987b03b47e6d04a442e60">XIOModule_EnableIntr</a>(BaseAddress,  EnableMask)&#160;&#160;&#160;XIomodule_Out32((BaseAddress) + <a class="el" href="group__iomodule__v2__2.html#ga12fbacf76cabd206d17acefd187fa7b4">XIN_IER_OFFSET</a>, (EnableMask))</td></tr>
<tr class="memdesc:ga230620599fe987b03b47e6d04a442e60"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable specific interrupt(s) in the interrupt controller.  <a href="#ga230620599fe987b03b47e6d04a442e60">More...</a><br /></td></tr>
<tr class="separator:ga230620599fe987b03b47e6d04a442e60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaf77d72d553f17c2696ce54e3149f0d0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gaaf77d72d553f17c2696ce54e3149f0d0">XIOModule_DisableIntr</a>(BaseAddress,  DisableMask)&#160;&#160;&#160;XIomodule_Out32((BaseAddress) + <a class="el" href="group__iomodule__v2__2.html#ga12fbacf76cabd206d17acefd187fa7b4">XIN_IER_OFFSET</a>, ~(DisableMask))</td></tr>
<tr class="memdesc:gaaf77d72d553f17c2696ce54e3149f0d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disable specific interrupt(s) in the interrupt controller.  <a href="#gaaf77d72d553f17c2696ce54e3149f0d0">More...</a><br /></td></tr>
<tr class="separator:gaaf77d72d553f17c2696ce54e3149f0d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac3f5aa29d205f6221a017a04712c65f0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gac3f5aa29d205f6221a017a04712c65f0">XIOModule_AckIntr</a>(BaseAddress,  AckMask)&#160;&#160;&#160;XIomodule_Out32((BaseAddress) + <a class="el" href="group__iomodule__v2__2.html#gaf12b5f9e19d0d544e8df96699db615bd">XIN_IAR_OFFSET</a>, (AckMask))</td></tr>
<tr class="memdesc:gac3f5aa29d205f6221a017a04712c65f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Acknowledge specific interrupt(s) in the interrupt controller.  <a href="#gac3f5aa29d205f6221a017a04712c65f0">More...</a><br /></td></tr>
<tr class="separator:gac3f5aa29d205f6221a017a04712c65f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga128f261df0c50d6e1b090e2a9e9d1874"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga128f261df0c50d6e1b090e2a9e9d1874">XIOModule_GetIntrStatus</a>(BaseAddress)&#160;&#160;&#160;(XIomodule_In32((BaseAddress) + <a class="el" href="group__iomodule__v2__2.html#ga35c8f39e63012c1745df6faa39fc7335">XIN_IPR_OFFSET</a>))</td></tr>
<tr class="memdesc:ga128f261df0c50d6e1b090e2a9e9d1874"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the interrupt status from the interrupt controller which indicates which interrupts are active and enabled.  <a href="#ga128f261df0c50d6e1b090e2a9e9d1874">More...</a><br /></td></tr>
<tr class="separator:ga128f261df0c50d6e1b090e2a9e9d1874"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga313c2576e159fd472cb0b25b7a395837"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga313c2576e159fd472cb0b25b7a395837">XIOModule_GetStatusReg</a>(BaseAddress)&#160;&#160;&#160;XIomodule_In32((BaseAddress) + <a class="el" href="group__iomodule__v2__2.html#ga13cc5a4dd0ee4939136579f2e8dc9ce5">XUL_STATUS_REG_OFFSET</a>)</td></tr>
<tr class="memdesc:ga313c2576e159fd472cb0b25b7a395837"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the contents of the UART status register.  <a href="#ga313c2576e159fd472cb0b25b7a395837">More...</a><br /></td></tr>
<tr class="separator:ga313c2576e159fd472cb0b25b7a395837"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad9c5e48a02c0aba03cb1d8d7583b37f6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gad9c5e48a02c0aba03cb1d8d7583b37f6">XIOModule_IsReceiveEmpty</a>(BaseAddress)</td></tr>
<tr class="memdesc:gad9c5e48a02c0aba03cb1d8d7583b37f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check to see if the UART receiver has data.  <a href="#gad9c5e48a02c0aba03cb1d8d7583b37f6">More...</a><br /></td></tr>
<tr class="separator:gad9c5e48a02c0aba03cb1d8d7583b37f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga93c23372164e627f79da9488ea43161a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga93c23372164e627f79da9488ea43161a">XIOModule_IsTransmitFull</a>(BaseAddress)</td></tr>
<tr class="memdesc:ga93c23372164e627f79da9488ea43161a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check to see if the transmitter is full.  <a href="#ga93c23372164e627f79da9488ea43161a">More...</a><br /></td></tr>
<tr class="separator:ga93c23372164e627f79da9488ea43161a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga829c77e3efe996211599f9a2a6bb4890"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga829c77e3efe996211599f9a2a6bb4890">XIOModule_WriteReg</a>(BaseAddress,  RegOffset,  Data)&#160;&#160;&#160;XIomodule_Out32((BaseAddress) + (RegOffset), (u32)(Data))</td></tr>
<tr class="memdesc:ga829c77e3efe996211599f9a2a6bb4890"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a value to a GPO register.  <a href="#ga829c77e3efe996211599f9a2a6bb4890">More...</a><br /></td></tr>
<tr class="separator:ga829c77e3efe996211599f9a2a6bb4890"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4eaff234e65f369a870fca3b92215df4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga4eaff234e65f369a870fca3b92215df4">XIOModule_ReadReg</a>(BaseAddress,  RegOffset)&#160;&#160;&#160;XIomodule_In32((BaseAddress) + (RegOffset))</td></tr>
<tr class="memdesc:ga4eaff234e65f369a870fca3b92215df4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read a value from a GPI register.  <a href="#ga4eaff234e65f369a870fca3b92215df4">More...</a><br /></td></tr>
<tr class="separator:ga4eaff234e65f369a870fca3b92215df4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:gab2ed9b9671c9ee41bbe9b8ea388b7cb7"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gab2ed9b9671c9ee41bbe9b8ea388b7cb7">XIOModule_Handler</a>) (void *CallBackRef, unsigned int ByteCount)</td></tr>
<tr class="memdesc:gab2ed9b9671c9ee41bbe9b8ea388b7cb7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback function.  <a href="#gab2ed9b9671c9ee41bbe9b8ea388b7cb7">More...</a><br /></td></tr>
<tr class="separator:gab2ed9b9671c9ee41bbe9b8ea388b7cb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga277788a18dc4e9d594730c330da34bec"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga277788a18dc4e9d594730c330da34bec">XIOModule_Timer_Handler</a>) (void *CallBackRef, u8 TimerNumber)</td></tr>
<tr class="memdesc:ga277788a18dc4e9d594730c330da34bec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Signature for the timer callback function.  <a href="#ga277788a18dc4e9d594730c330da34bec">More...</a><br /></td></tr>
<tr class="separator:ga277788a18dc4e9d594730c330da34bec"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga67914ab7abde581aa2214b997923938d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga67914ab7abde581aa2214b997923938d">XIOModule_Initialize</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr, u16 DeviceId)</td></tr>
<tr class="memdesc:ga67914ab7abde581aa2214b997923938d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize a specific interrupt controller instance/driver.  <a href="#ga67914ab7abde581aa2214b997923938d">More...</a><br /></td></tr>
<tr class="separator:ga67914ab7abde581aa2214b997923938d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7e2fb72f58ec51dd632b89a67beb515d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga7e2fb72f58ec51dd632b89a67beb515d">XIOModule_Start</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga7e2fb72f58ec51dd632b89a67beb515d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Starts the IO Module.  <a href="#ga7e2fb72f58ec51dd632b89a67beb515d">More...</a><br /></td></tr>
<tr class="separator:ga7e2fb72f58ec51dd632b89a67beb515d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4cd1ece524eb5fd3d5d255027ad6a01a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga4cd1ece524eb5fd3d5d255027ad6a01a">XIOModule_Stop</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga4cd1ece524eb5fd3d5d255027ad6a01a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stops the interrupt controller by disabling the output from the controller so that no interrupts will be caused by the interrupt controller.  <a href="#ga4cd1ece524eb5fd3d5d255027ad6a01a">More...</a><br /></td></tr>
<tr class="separator:ga4cd1ece524eb5fd3d5d255027ad6a01a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga65efd62e9193f589aa82dfa26fc90142"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga65efd62e9193f589aa82dfa26fc90142">XIOModule_Connect</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr, u8 Id, XInterruptHandler Handler, void *CallBackRef)</td></tr>
<tr class="memdesc:ga65efd62e9193f589aa82dfa26fc90142"><td class="mdescLeft">&#160;</td><td class="mdescRight">Makes the connection between the Id of the interrupt source and the associated handler that is to run when the interrupt is recognized.  <a href="#ga65efd62e9193f589aa82dfa26fc90142">More...</a><br /></td></tr>
<tr class="separator:ga65efd62e9193f589aa82dfa26fc90142"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga241c2c08f867ee4d03e96248c4a133da"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga241c2c08f867ee4d03e96248c4a133da">XIOModule_Disconnect</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr, u8 Id)</td></tr>
<tr class="memdesc:ga241c2c08f867ee4d03e96248c4a133da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Updates the interrupt table with the Null Handler and NULL arguments at the location pointed at by the Id.  <a href="#ga241c2c08f867ee4d03e96248c4a133da">More...</a><br /></td></tr>
<tr class="separator:ga241c2c08f867ee4d03e96248c4a133da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0c2fe0ab1367af43b603cd896e306737"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga0c2fe0ab1367af43b603cd896e306737">XIOModule_Enable</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr, u8 Id)</td></tr>
<tr class="memdesc:ga0c2fe0ab1367af43b603cd896e306737"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables the interrupt source provided as the argument Id.  <a href="#ga0c2fe0ab1367af43b603cd896e306737">More...</a><br /></td></tr>
<tr class="separator:ga0c2fe0ab1367af43b603cd896e306737"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2ab631d859f9fc7b00f3c8367d763c49"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga2ab631d859f9fc7b00f3c8367d763c49">XIOModule_Disable</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr, u8 Id)</td></tr>
<tr class="memdesc:ga2ab631d859f9fc7b00f3c8367d763c49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disables the interrupt source provided as the argument Id such that the interrupt controller will not cause interrupts for the specified Id.  <a href="#ga2ab631d859f9fc7b00f3c8367d763c49">More...</a><br /></td></tr>
<tr class="separator:ga2ab631d859f9fc7b00f3c8367d763c49"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga036018140fd9f14af05eec37b3cb2e93"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga036018140fd9f14af05eec37b3cb2e93">XIOModule_Acknowledge</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr, u8 Id)</td></tr>
<tr class="memdesc:ga036018140fd9f14af05eec37b3cb2e93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Acknowledges the interrupt source provided as the argument Id.  <a href="#ga036018140fd9f14af05eec37b3cb2e93">More...</a><br /></td></tr>
<tr class="separator:ga036018140fd9f14af05eec37b3cb2e93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga367989ec098fe548ba62b58640490ec7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_x_i_o_module___config.html">XIOModule_Config</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga367989ec098fe548ba62b58640490ec7">XIOModule_LookupConfig</a> (u16 DeviceId)</td></tr>
<tr class="memdesc:ga367989ec098fe548ba62b58640490ec7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Looks up the device configuration based on the unique device ID.  <a href="#ga367989ec098fe548ba62b58640490ec7">More...</a><br /></td></tr>
<tr class="separator:ga367989ec098fe548ba62b58640490ec7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga41e9fc5bdcbf29ff8675104fdef91697"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga41e9fc5bdcbf29ff8675104fdef91697">XIOModule_ConnectFastHandler</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr, u8 Id, XFastInterruptHandler Handler)</td></tr>
<tr class="memdesc:ga41e9fc5bdcbf29ff8675104fdef91697"><td class="mdescLeft">&#160;</td><td class="mdescRight">Makes the connection between the Id of the interrupt source and the associated handler that is to run when the interrupt is recognized.  <a href="#ga41e9fc5bdcbf29ff8675104fdef91697">More...</a><br /></td></tr>
<tr class="separator:ga41e9fc5bdcbf29ff8675104fdef91697"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab4ddcaf38d655ca70d916c1d5ba96240"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gab4ddcaf38d655ca70d916c1d5ba96240">XIOModule_SetNormalIntrMode</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr, u8 Id)</td></tr>
<tr class="memdesc:gab4ddcaf38d655ca70d916c1d5ba96240"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the normal interrupt mode for the specified interrupt in the Interrupt Mode Register, by resetting the vector to (BaseVector &amp; 0xFFFFFF80) | 0x10 and selecting normal mode.  <a href="#gab4ddcaf38d655ca70d916c1d5ba96240">More...</a><br /></td></tr>
<tr class="separator:gab4ddcaf38d655ca70d916c1d5ba96240"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9f2d50c168791e08aaf44d16ca5b26a9"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga9f2d50c168791e08aaf44d16ca5b26a9">XIOModule_DiscreteRead</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr, unsigned Channel)</td></tr>
<tr class="memdesc:ga9f2d50c168791e08aaf44d16ca5b26a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read state of discretes for the specified GPI channnel.  <a href="#ga9f2d50c168791e08aaf44d16ca5b26a9">More...</a><br /></td></tr>
<tr class="separator:ga9f2d50c168791e08aaf44d16ca5b26a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaac4051b21a264e8a6ffa80581af54108"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gaac4051b21a264e8a6ffa80581af54108">XIOModule_DiscreteWrite</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr, unsigned Channel, u32 Data)</td></tr>
<tr class="memdesc:gaac4051b21a264e8a6ffa80581af54108"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write to discretes register for the specified GPO channel.  <a href="#gaac4051b21a264e8a6ffa80581af54108">More...</a><br /></td></tr>
<tr class="separator:gaac4051b21a264e8a6ffa80581af54108"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad0dad0abc10925039a42855110f8256f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gad0dad0abc10925039a42855110f8256f">XIOModule_Timer_Initialize</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr, u16 DeviceId)</td></tr>
<tr class="memdesc:gad0dad0abc10925039a42855110f8256f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a specific timer instance/driver.  <a href="#gad0dad0abc10925039a42855110f8256f">More...</a><br /></td></tr>
<tr class="separator:gad0dad0abc10925039a42855110f8256f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga622c3a5cd4e43543cfb445071d01e7a9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga622c3a5cd4e43543cfb445071d01e7a9">XIOModule_Timer_Start</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr, u8 TimerNumber)</td></tr>
<tr class="memdesc:ga622c3a5cd4e43543cfb445071d01e7a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Starts the specified timer counter of the device such that it starts running.  <a href="#ga622c3a5cd4e43543cfb445071d01e7a9">More...</a><br /></td></tr>
<tr class="separator:ga622c3a5cd4e43543cfb445071d01e7a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga60bd9ef270b0de7440206326ec1fe710"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga60bd9ef270b0de7440206326ec1fe710">XIOModule_Timer_Stop</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr, u8 TimerNumber)</td></tr>
<tr class="memdesc:ga60bd9ef270b0de7440206326ec1fe710"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stops the timer by disabling it.  <a href="#ga60bd9ef270b0de7440206326ec1fe710">More...</a><br /></td></tr>
<tr class="separator:ga60bd9ef270b0de7440206326ec1fe710"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga826357a58aeda0b2d1bfc42efd6bb94c"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga826357a58aeda0b2d1bfc42efd6bb94c">XIOModule_GetValue</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr, u8 TimerNumber)</td></tr>
<tr class="memdesc:ga826357a58aeda0b2d1bfc42efd6bb94c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current value of the specified timer counter.  <a href="#ga826357a58aeda0b2d1bfc42efd6bb94c">More...</a><br /></td></tr>
<tr class="separator:ga826357a58aeda0b2d1bfc42efd6bb94c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf9ed2111d2f53ac88626030d907f374a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gaf9ed2111d2f53ac88626030d907f374a">XIOModule_SetResetValue</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr, u8 TimerNumber, u32 ResetValue)</td></tr>
<tr class="memdesc:gaf9ed2111d2f53ac88626030d907f374a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the reset value for the specified timer counter.  <a href="#gaf9ed2111d2f53ac88626030d907f374a">More...</a><br /></td></tr>
<tr class="separator:gaf9ed2111d2f53ac88626030d907f374a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf4281a3f3f5e5620d4e78dc904ab04cf"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gaf4281a3f3f5e5620d4e78dc904ab04cf">XIOModule_GetCaptureValue</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr, u8 TimerNumber)</td></tr>
<tr class="memdesc:gaf4281a3f3f5e5620d4e78dc904ab04cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the timer counter value that was captured the last time the external capture input was asserted.  <a href="#gaf4281a3f3f5e5620d4e78dc904ab04cf">More...</a><br /></td></tr>
<tr class="separator:gaf4281a3f3f5e5620d4e78dc904ab04cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae5d1cb85ee2100003b7e2dcc160c47c0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gae5d1cb85ee2100003b7e2dcc160c47c0">XIOModule_Reset</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr, u8 TimerNumber)</td></tr>
<tr class="memdesc:gae5d1cb85ee2100003b7e2dcc160c47c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets the specified timer counter of the device.  <a href="#gae5d1cb85ee2100003b7e2dcc160c47c0">More...</a><br /></td></tr>
<tr class="separator:gae5d1cb85ee2100003b7e2dcc160c47c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga65c77543ddff932f4b07da1100af984f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga65c77543ddff932f4b07da1100af984f">XIOModule_IsExpired</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr, u8 TimerNumber)</td></tr>
<tr class="memdesc:ga65c77543ddff932f4b07da1100af984f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if the specified timer counter of the device has expired.  <a href="#ga65c77543ddff932f4b07da1100af984f">More...</a><br /></td></tr>
<tr class="separator:ga65c77543ddff932f4b07da1100af984f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9939789b5819d1561bebc0eacac28b84"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga9939789b5819d1561bebc0eacac28b84">XIOModule_IoReadWord</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr, u32 ByteOffset)</td></tr>
<tr class="memdesc:ga9939789b5819d1561bebc0eacac28b84"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read 32-bit word from the IO Bus memory mapped IO.  <a href="#ga9939789b5819d1561bebc0eacac28b84">More...</a><br /></td></tr>
<tr class="separator:ga9939789b5819d1561bebc0eacac28b84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7ff8a4fabcb27bc42957503761602439"><td class="memItemLeft" align="right" valign="top">u16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga7ff8a4fabcb27bc42957503761602439">XIOModule_IoReadHalfword</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr, u32 ByteOffset)</td></tr>
<tr class="memdesc:ga7ff8a4fabcb27bc42957503761602439"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read 16-bit halfword from the IO Bus memory mapped IO.  <a href="#ga7ff8a4fabcb27bc42957503761602439">More...</a><br /></td></tr>
<tr class="separator:ga7ff8a4fabcb27bc42957503761602439"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab5ec0ed139e0e9629ec1b542dfec3989"><td class="memItemLeft" align="right" valign="top">u8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gab5ec0ed139e0e9629ec1b542dfec3989">XIOModule_IoReadByte</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr, u32 ByteOffset)</td></tr>
<tr class="memdesc:gab5ec0ed139e0e9629ec1b542dfec3989"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read byte from the IO Bus memory mapped IO.  <a href="#gab5ec0ed139e0e9629ec1b542dfec3989">More...</a><br /></td></tr>
<tr class="separator:gab5ec0ed139e0e9629ec1b542dfec3989"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf20cdadbf9d5197fd91076a76b7049f8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gaf20cdadbf9d5197fd91076a76b7049f8">XIOModule_IoWriteWord</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr, u32 ByteOffset, u32 Data)</td></tr>
<tr class="memdesc:gaf20cdadbf9d5197fd91076a76b7049f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write 32-bit word to the IO Bus memory mapped IO.  <a href="#gaf20cdadbf9d5197fd91076a76b7049f8">More...</a><br /></td></tr>
<tr class="separator:gaf20cdadbf9d5197fd91076a76b7049f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3c9d9b8fc1d9accc3502b24db3770664"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga3c9d9b8fc1d9accc3502b24db3770664">XIOModule_IoWriteHalfword</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr, u32 ByteOffset, u16 Data)</td></tr>
<tr class="memdesc:ga3c9d9b8fc1d9accc3502b24db3770664"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write 16-bit word to the IO Bus memory mapped IO.  <a href="#ga3c9d9b8fc1d9accc3502b24db3770664">More...</a><br /></td></tr>
<tr class="separator:ga3c9d9b8fc1d9accc3502b24db3770664"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaae3b81b7f7e0ebf69c951b2fcf438e85"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gaae3b81b7f7e0ebf69c951b2fcf438e85">XIOModule_IoWriteByte</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr, u32 ByteOffset, u8 Data)</td></tr>
<tr class="memdesc:gaae3b81b7f7e0ebf69c951b2fcf438e85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write 8-bit word to the IO Bus memory mapped IO.  <a href="#gaae3b81b7f7e0ebf69c951b2fcf438e85">More...</a><br /></td></tr>
<tr class="separator:gaae3b81b7f7e0ebf69c951b2fcf438e85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae7a0598ebcbf832927168c532c82c469"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gae7a0598ebcbf832927168c532c82c469">XIOModule_DiscreteSet</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr, unsigned Channel, u32 Mask)</td></tr>
<tr class="memdesc:gae7a0598ebcbf832927168c532c82c469"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set output discrete(s) to logic 1 for the specified GPO channel.  <a href="#gae7a0598ebcbf832927168c532c82c469">More...</a><br /></td></tr>
<tr class="separator:gae7a0598ebcbf832927168c532c82c469"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf518b504d005044d00b5b9b1e6cd7b33"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gaf518b504d005044d00b5b9b1e6cd7b33">XIOModule_DiscreteClear</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr, unsigned Channel, u32 Mask)</td></tr>
<tr class="memdesc:gaf518b504d005044d00b5b9b1e6cd7b33"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set output discrete(s) to logic 0 for the specified GPO channel.  <a href="#gaf518b504d005044d00b5b9b1e6cd7b33">More...</a><br /></td></tr>
<tr class="separator:gaf518b504d005044d00b5b9b1e6cd7b33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga99ce16ec0f081059b1971bce386b6f50"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga99ce16ec0f081059b1971bce386b6f50">XIOModule_CfgInitialize</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr, <a class="el" href="struct_x_i_o_module___config.html">XIOModule_Config</a> *Config, u32 EffectiveAddr)</td></tr>
<tr class="memdesc:ga99ce16ec0f081059b1971bce386b6f50"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize a <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance.  <a href="#ga99ce16ec0f081059b1971bce386b6f50">More...</a><br /></td></tr>
<tr class="separator:ga99ce16ec0f081059b1971bce386b6f50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadabb5f2e09817afb284173f31f3d7265"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gadabb5f2e09817afb284173f31f3d7265">XIOModule_ResetFifos</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr)</td></tr>
<tr class="memdesc:gadabb5f2e09817afb284173f31f3d7265"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function does nothing, since the UART doesn't have any FIFOs.  <a href="#gadabb5f2e09817afb284173f31f3d7265">More...</a><br /></td></tr>
<tr class="separator:gadabb5f2e09817afb284173f31f3d7265"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6db3efbd9634e6f58b9fb6a67f82b8c2"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga6db3efbd9634e6f58b9fb6a67f82b8c2">XIOModule_Send</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr, u8 *DataBufferPtr, unsigned int NumBytes)</td></tr>
<tr class="memdesc:ga6db3efbd9634e6f58b9fb6a67f82b8c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">This functions sends the specified buffer of data using the UART in either polled or interrupt driven modes.  <a href="#ga6db3efbd9634e6f58b9fb6a67f82b8c2">More...</a><br /></td></tr>
<tr class="separator:ga6db3efbd9634e6f58b9fb6a67f82b8c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae9e27102d95385e1557fd488da7b2936"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gae9e27102d95385e1557fd488da7b2936">XIOModule_Recv</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr, u8 *DataBufferPtr, unsigned int NumBytes)</td></tr>
<tr class="memdesc:gae9e27102d95385e1557fd488da7b2936"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function will attempt to receive a specified number of bytes of data from the UART and store it into the specified buffer.  <a href="#gae9e27102d95385e1557fd488da7b2936">More...</a><br /></td></tr>
<tr class="separator:gae9e27102d95385e1557fd488da7b2936"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa582b33e2d93e0f0072b3235ed6fb741"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gaa582b33e2d93e0f0072b3235ed6fb741">XIOModule_IsSending</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr)</td></tr>
<tr class="memdesc:gaa582b33e2d93e0f0072b3235ed6fb741"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function determines if the specified UART is sending data.  <a href="#gaa582b33e2d93e0f0072b3235ed6fb741">More...</a><br /></td></tr>
<tr class="separator:gaa582b33e2d93e0f0072b3235ed6fb741"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga42ada8bd0fb0d16976254c228a8924a2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga42ada8bd0fb0d16976254c228a8924a2">XIOModule_GetStats</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr, <a class="el" href="struct_x_i_o_module___uart___stats.html">XIOModule_Uart_Stats</a> *StatsPtr)</td></tr>
<tr class="memdesc:ga42ada8bd0fb0d16976254c228a8924a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a snapshot of the current statistics in the structure specified.  <a href="#ga42ada8bd0fb0d16976254c228a8924a2">More...</a><br /></td></tr>
<tr class="separator:ga42ada8bd0fb0d16976254c228a8924a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga61a582e9785291f7c6e0b91c19c46bd8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga61a582e9785291f7c6e0b91c19c46bd8">XIOModule_ClearStats</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga61a582e9785291f7c6e0b91c19c46bd8"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function zeros the statistics for the given instance.  <a href="#ga61a582e9785291f7c6e0b91c19c46bd8">More...</a><br /></td></tr>
<tr class="separator:ga61a582e9785291f7c6e0b91c19c46bd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga848da9f83ad1188caca777cd324cec10"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga848da9f83ad1188caca777cd324cec10">XIOModule_InterruptHandler</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga848da9f83ad1188caca777cd324cec10"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interrupt handler for the driver used when there can be no argument passed to the handler.  <a href="#ga848da9f83ad1188caca777cd324cec10">More...</a><br /></td></tr>
<tr class="separator:ga848da9f83ad1188caca777cd324cec10"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa805a7f9982d9acc5b3b16849c5d2dfd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gaa805a7f9982d9acc5b3b16849c5d2dfd">XIOModule_Uart_EnableInterrupt</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr)</td></tr>
<tr class="memdesc:gaa805a7f9982d9acc5b3b16849c5d2dfd"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function enables the UART interrupts such that an interrupt will occur when data is received or data has been transmitted.  <a href="#gaa805a7f9982d9acc5b3b16849c5d2dfd">More...</a><br /></td></tr>
<tr class="separator:gaa805a7f9982d9acc5b3b16849c5d2dfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5ec72d0dd352ad42de494821220e3185"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga5ec72d0dd352ad42de494821220e3185">XIOModule_Uart_DisableInterrupt</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga5ec72d0dd352ad42de494821220e3185"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function disables the UART interrupt.  <a href="#ga5ec72d0dd352ad42de494821220e3185">More...</a><br /></td></tr>
<tr class="separator:ga5ec72d0dd352ad42de494821220e3185"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5ece62521d0d34bd420888ecc876750c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga5ece62521d0d34bd420888ecc876750c">XIOModule_SetRecvHandler</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr, <a class="el" href="group__iomodule__v2__2.html#gab2ed9b9671c9ee41bbe9b8ea388b7cb7">XIOModule_Handler</a> FuncPtr, void *CallBackRef)</td></tr>
<tr class="memdesc:ga5ece62521d0d34bd420888ecc876750c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sets the handler that will be called when an event (interrupt) occurs in the driver for the UART.  <a href="#ga5ece62521d0d34bd420888ecc876750c">More...</a><br /></td></tr>
<tr class="separator:ga5ece62521d0d34bd420888ecc876750c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga07b376ebf11fee3ff027445eaa096261"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga07b376ebf11fee3ff027445eaa096261">XIOModule_SetSendHandler</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr, <a class="el" href="group__iomodule__v2__2.html#gab2ed9b9671c9ee41bbe9b8ea388b7cb7">XIOModule_Handler</a> FuncPtr, void *CallBackRef)</td></tr>
<tr class="memdesc:ga07b376ebf11fee3ff027445eaa096261"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sets the handler that will be called when an event (interrupt) occurs in the driver for the UART.  <a href="#ga07b376ebf11fee3ff027445eaa096261">More...</a><br /></td></tr>
<tr class="separator:ga07b376ebf11fee3ff027445eaa096261"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacf2a67095f9797403f5c269fdcd7a6b2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gacf2a67095f9797403f5c269fdcd7a6b2">XIOModule_Uart_InterruptHandler</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr)</td></tr>
<tr class="memdesc:gacf2a67095f9797403f5c269fdcd7a6b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is the interrupt handler for the UART.  <a href="#gacf2a67095f9797403f5c269fdcd7a6b2">More...</a><br /></td></tr>
<tr class="separator:gacf2a67095f9797403f5c269fdcd7a6b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1c71be14079487aef1623f8427ba39bb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga1c71be14079487aef1623f8427ba39bb">XIOModule_SetOptions</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr, u32 Options)</td></tr>
<tr class="memdesc:ga1c71be14079487aef1623f8427ba39bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the options for the interrupt controller driver.  <a href="#ga1c71be14079487aef1623f8427ba39bb">More...</a><br /></td></tr>
<tr class="separator:ga1c71be14079487aef1623f8427ba39bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab24288979ff867f5e8f98372bddda874"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gab24288979ff867f5e8f98372bddda874">XIOModule_GetOptions</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr)</td></tr>
<tr class="memdesc:gab24288979ff867f5e8f98372bddda874"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the currently set options.  <a href="#gab24288979ff867f5e8f98372bddda874">More...</a><br /></td></tr>
<tr class="separator:gab24288979ff867f5e8f98372bddda874"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga719529740fbb19c3ce7d44078a2edcc1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga719529740fbb19c3ce7d44078a2edcc1">XIOModule_Timer_SetOptions</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr, u8 TimerNumber, u32 Options)</td></tr>
<tr class="memdesc:ga719529740fbb19c3ce7d44078a2edcc1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables the specified options for the specified timer .  <a href="#ga719529740fbb19c3ce7d44078a2edcc1">More...</a><br /></td></tr>
<tr class="separator:ga719529740fbb19c3ce7d44078a2edcc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga47eeba74f17b3a38bb1f6d43d76453d6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga47eeba74f17b3a38bb1f6d43d76453d6">XIOModule_Timer_SelfTest</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr, u8 TimerNumber)</td></tr>
<tr class="memdesc:ga47eeba74f17b3a38bb1f6d43d76453d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Runs a self-test on the timer driver/device.  <a href="#ga47eeba74f17b3a38bb1f6d43d76453d6">More...</a><br /></td></tr>
<tr class="separator:ga47eeba74f17b3a38bb1f6d43d76453d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab2e5ac3f9e5a286fd376120cb27f545d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gab2e5ac3f9e5a286fd376120cb27f545d">XIOModule_SetHandler</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr, <a class="el" href="group__iomodule__v2__2.html#ga277788a18dc4e9d594730c330da34bec">XIOModule_Timer_Handler</a> FuncPtr, void *CallBackRef)</td></tr>
<tr class="memdesc:gab2e5ac3f9e5a286fd376120cb27f545d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the timer callback function, which the driver calls when the specified timer times out.  <a href="#gab2e5ac3f9e5a286fd376120cb27f545d">More...</a><br /></td></tr>
<tr class="separator:gab2e5ac3f9e5a286fd376120cb27f545d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga431eb19a0f6aeab9bab0cdb09fdc30ce"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga431eb19a0f6aeab9bab0cdb09fdc30ce">XIOModule_Timer_InterruptHandler</a> (void *InstancePtr)</td></tr>
<tr class="memdesc:ga431eb19a0f6aeab9bab0cdb09fdc30ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interrupt Service Routine (ISR) for the driver.  <a href="#ga431eb19a0f6aeab9bab0cdb09fdc30ce">More...</a><br /></td></tr>
<tr class="separator:ga431eb19a0f6aeab9bab0cdb09fdc30ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1fc16de9c0cbaad1d3022d19a0d883cd"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga1fc16de9c0cbaad1d3022d19a0d883cd">XIOModule_SendBuffer</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga1fc16de9c0cbaad1d3022d19a0d883cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends a buffer that has been previously specified by setting up the instance variables of the instance.  <a href="#ga1fc16de9c0cbaad1d3022d19a0d883cd">More...</a><br /></td></tr>
<tr class="separator:ga1fc16de9c0cbaad1d3022d19a0d883cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga70b12729029fff571ad8915dc30897d6"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga70b12729029fff571ad8915dc30897d6">XIOModule_ReceiveBuffer</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga70b12729029fff571ad8915dc30897d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function receives a buffer that has been previously specified by setting up the instance variables of the instance.  <a href="#ga70b12729029fff571ad8915dc30897d6">More...</a><br /></td></tr>
<tr class="separator:ga70b12729029fff571ad8915dc30897d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2e47bfda481c3ceab60d758f049758ef"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga2e47bfda481c3ceab60d758f049758ef">XIOModule_DeviceInterruptHandler</a> (void *DeviceId)</td></tr>
<tr class="memdesc:ga2e47bfda481c3ceab60d758f049758ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is the interrupt handler for the driver interface provided in this file when there can be no argument passed to the handler.  <a href="#ga2e47bfda481c3ceab60d758f049758ef">More...</a><br /></td></tr>
<tr class="separator:ga2e47bfda481c3ceab60d758f049758ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaf27e1820d586ec1c487078d03854944"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gaaf27e1820d586ec1c487078d03854944">XIOModule_SetIntrSvcOption</a> (u32 BaseAddress, int Option)</td></tr>
<tr class="memdesc:gaaf27e1820d586ec1c487078d03854944"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the interrupt service option, which can configure the driver so that it services only a single interrupt at a time when an interrupt occurs, or services all pending interrupts when an interrupt occurs.  <a href="#gaaf27e1820d586ec1c487078d03854944">More...</a><br /></td></tr>
<tr class="separator:gaaf27e1820d586ec1c487078d03854944"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3985a47858bc59f526d475536811a393"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga3985a47858bc59f526d475536811a393">XIOModule_RegisterHandler</a> (u32 BaseAddress, int InterruptId, XInterruptHandler Handler, void *CallBackRef)</td></tr>
<tr class="memdesc:ga3985a47858bc59f526d475536811a393"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register a handler function for a specific interrupt ID.  <a href="#ga3985a47858bc59f526d475536811a393">More...</a><br /></td></tr>
<tr class="separator:ga3985a47858bc59f526d475536811a393"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga77e0649e78c817c27b628b6713c12451"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga77e0649e78c817c27b628b6713c12451">XIOModule_SendByte</a> (u32 BaseAddress, u8 Data)</td></tr>
<tr class="memdesc:ga77e0649e78c817c27b628b6713c12451"><td class="mdescLeft">&#160;</td><td class="mdescRight">This functions sends a single byte using the UART.  <a href="#ga77e0649e78c817c27b628b6713c12451">More...</a><br /></td></tr>
<tr class="separator:ga77e0649e78c817c27b628b6713c12451"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf1784b245813307028ba028246e39606"><td class="memItemLeft" align="right" valign="top">u8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gaf1784b245813307028ba028246e39606">XIOModule_RecvByte</a> (u32 BaseAddress)</td></tr>
<tr class="memdesc:gaf1784b245813307028ba028246e39606"><td class="mdescLeft">&#160;</td><td class="mdescRight">This functions receives a single byte using the UART.  <a href="#gaf1784b245813307028ba028246e39606">More...</a><br /></td></tr>
<tr class="separator:gaf1784b245813307028ba028246e39606"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae50d24ec7a10fc2b3167d5f3a6070107"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gae50d24ec7a10fc2b3167d5f3a6070107">XIOModel_Timer_GetOptions</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr, u8 TimerNumber)</td></tr>
<tr class="memdesc:gae50d24ec7a10fc2b3167d5f3a6070107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the options for the specified timer.  <a href="#gae50d24ec7a10fc2b3167d5f3a6070107">More...</a><br /></td></tr>
<tr class="separator:gae50d24ec7a10fc2b3167d5f3a6070107"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaadbc5225c2c104a1a09d226e6daf3497"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gaadbc5225c2c104a1a09d226e6daf3497">XIOModule_Intc_SelfTest</a> (<a class="el" href="struct_x_i_o_module.html">XIOModule</a> *InstancePtr)</td></tr>
<tr class="memdesc:gaadbc5225c2c104a1a09d226e6daf3497"><td class="mdescLeft">&#160;</td><td class="mdescRight">Run a self-test on the interrupt controller driver/device.  <a href="#gaadbc5225c2c104a1a09d226e6daf3497">More...</a><br /></td></tr>
<tr class="separator:gaadbc5225c2c104a1a09d226e6daf3497"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:gafab2167a879586e6baa45e8706ed6a6a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_x_i_o_module___config.html">XIOModule_Config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gafab2167a879586e6baa45e8706ed6a6a">XIOModule_ConfigTable</a> [XPAR_XIOMODULE_NUM_INSTANCES]</td></tr>
<tr class="memdesc:gafab2167a879586e6baa45e8706ed6a6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">This table contains configuration information for each iomodule device in the system.  <a href="#gafab2167a879586e6baa45e8706ed6a6a">More...</a><br /></td></tr>
<tr class="separator:gafab2167a879586e6baa45e8706ed6a6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9b86656d30db376521bc3f4b63985499"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_x_i_o_module___config.html">XIOModule_Config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga9b86656d30db376521bc3f4b63985499">XIOModule_ConfigTable</a> []</td></tr>
<tr class="memdesc:ga9b86656d30db376521bc3f4b63985499"><td class="mdescLeft">&#160;</td><td class="mdescRight">This table contains configuration information for each iomodule device in the system.  <a href="#ga9b86656d30db376521bc3f4b63985499">More...</a><br /></td></tr>
<tr class="separator:ga9b86656d30db376521bc3f4b63985499"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Configuration options</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp50f33d14f129e4548c1c270fd6725a78"></a>These options are used in <a class="el" href="group__iomodule__v2__2.html#ga1c71be14079487aef1623f8427ba39bb" title="Set the options for the interrupt controller driver. ">XIOModule_SetOptions()</a> to configure the device. </p>
</td></tr>
<tr class="memitem:gaad72f141ec429ad4b782868c33b32c1b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gaad72f141ec429ad4b782868c33b32c1b">XTC_INT_MODE_OPTION</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:gaad72f141ec429ad4b782868c33b32c1b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to configure the Programmable Interval Timer.  <a href="#gaad72f141ec429ad4b782868c33b32c1b">More...</a><br /></td></tr>
<tr class="separator:gaad72f141ec429ad4b782868c33b32c1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gace3deb2a423d72960864a46eacd11fdc"><td class="memItemLeft" align="right" valign="top"><a id="gace3deb2a423d72960864a46eacd11fdc"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XTC_AUTO_RELOAD_OPTION</b>&#160;&#160;&#160;0x00000002UL</td></tr>
<tr class="separator:gace3deb2a423d72960864a46eacd11fdc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf4bce8e2035f391b702686e49c66c839"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gaf4bce8e2035f391b702686e49c66c839">XIN_SVC_SGL_ISR_OPTION</a>&#160;&#160;&#160;1UL</td></tr>
<tr class="memdesc:gaf4bce8e2035f391b702686e49c66c839"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to configure the Interrupt Controller.  <a href="#gaf4bce8e2035f391b702686e49c66c839">More...</a><br /></td></tr>
<tr class="separator:gaf4bce8e2035f391b702686e49c66c839"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad043237f658e83b2e8718ddddab12545"><td class="memItemLeft" align="right" valign="top"><a id="gad043237f658e83b2e8718ddddab12545"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XIN_SVC_ALL_ISRS_OPTION</b>&#160;&#160;&#160;2UL</td></tr>
<tr class="separator:gad043237f658e83b2e8718ddddab12545"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Hardware configuration mnemonics</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp1cbd7e0f5168e7805ccf17a080f4ea53"></a>These mnemonics are used when accessing hardware configuration parameters. </p>
</td></tr>
<tr class="memitem:gaf20fd1c0a59c98120a71fca59e4ebaee"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gaf20fd1c0a59c98120a71fca59e4ebaee">XTC_PRESCALER_NONE</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:gaf20fd1c0a59c98120a71fca59e4ebaee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mnemonics for the Programmable Interval Timer hardware configuration.  <a href="#gaf20fd1c0a59c98120a71fca59e4ebaee">More...</a><br /></td></tr>
<tr class="separator:gaf20fd1c0a59c98120a71fca59e4ebaee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6fee1f1e43ab3025089a614513488d4c"><td class="memItemLeft" align="right" valign="top"><a id="ga6fee1f1e43ab3025089a614513488d4c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XTC_PRESCALER_FIT1</b>&#160;&#160;&#160;1</td></tr>
<tr class="separator:ga6fee1f1e43ab3025089a614513488d4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga57d48bbd152bcf35da786ee49edf2d3c"><td class="memItemLeft" align="right" valign="top"><a id="ga57d48bbd152bcf35da786ee49edf2d3c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XTC_PRESCALER_FIT2</b>&#160;&#160;&#160;2</td></tr>
<tr class="separator:ga57d48bbd152bcf35da786ee49edf2d3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab0c2d9fa35adf3aa2e5f488c302d90fc"><td class="memItemLeft" align="right" valign="top"><a id="gab0c2d9fa35adf3aa2e5f488c302d90fc"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XTC_PRESCALER_FIT3</b>&#160;&#160;&#160;3</td></tr>
<tr class="separator:gab0c2d9fa35adf3aa2e5f488c302d90fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga376745b2a28fc58bbe75917ba440e0ac"><td class="memItemLeft" align="right" valign="top"><a id="ga376745b2a28fc58bbe75917ba440e0ac"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XTC_PRESCALER_FIT4</b>&#160;&#160;&#160;4</td></tr>
<tr class="separator:ga376745b2a28fc58bbe75917ba440e0ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga69fb65358307ad1cef06d7a4dfb73c3f"><td class="memItemLeft" align="right" valign="top"><a id="ga69fb65358307ad1cef06d7a4dfb73c3f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XTC_PRESCALER_PIT1</b>&#160;&#160;&#160;5</td></tr>
<tr class="separator:ga69fb65358307ad1cef06d7a4dfb73c3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad496accb87e9314a74855d99a5a52fb8"><td class="memItemLeft" align="right" valign="top"><a id="gad496accb87e9314a74855d99a5a52fb8"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XTC_PRESCALER_PIT2</b>&#160;&#160;&#160;6</td></tr>
<tr class="separator:gad496accb87e9314a74855d99a5a52fb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga759f687540386496d6632197d27d005c"><td class="memItemLeft" align="right" valign="top"><a id="ga759f687540386496d6632197d27d005c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XTC_PRESCALER_PIT3</b>&#160;&#160;&#160;7</td></tr>
<tr class="separator:ga759f687540386496d6632197d27d005c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaddd67d12327373c3cea486e648c1ddc9"><td class="memItemLeft" align="right" valign="top"><a id="gaddd67d12327373c3cea486e648c1ddc9"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XTC_PRESCALER_PIT4</b>&#160;&#160;&#160;8</td></tr>
<tr class="separator:gaddd67d12327373c3cea486e648c1ddc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad9e6ed90a6153f53eddf23e553d98dfd"><td class="memItemLeft" align="right" valign="top"><a id="gad9e6ed90a6153f53eddf23e553d98dfd"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XTC_PRESCALER_EXTERNAL</b>&#160;&#160;&#160;9</td></tr>
<tr class="separator:gad9e6ed90a6153f53eddf23e553d98dfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafb21e053e2c12734dfadd0affbbbc313"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gafb21e053e2c12734dfadd0affbbbc313">XGPI_DEVICE_COUNT</a>&#160;&#160;&#160;4</td></tr>
<tr class="memdesc:gafb21e053e2c12734dfadd0affbbbc313"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the number of GPI and GPO within a single hardware device.  <a href="#gafb21e053e2c12734dfadd0affbbbc313">More...</a><br /></td></tr>
<tr class="separator:gafb21e053e2c12734dfadd0affbbbc313"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9569489084c770e95974e4592e425b66"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga9569489084c770e95974e4592e425b66">XGPI_CHAN_OFFSET</a>&#160;&#160;&#160;0x00004</td></tr>
<tr class="memdesc:ga9569489084c770e95974e4592e425b66"><td class="mdescLeft">&#160;</td><td class="mdescRight">The following constants describe the offset of each GPI and GPO channel's data from the base address.  <a href="#ga9569489084c770e95974e4592e425b66">More...</a><br /></td></tr>
<tr class="separator:ga9569489084c770e95974e4592e425b66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga77dbab318178a69596d6cab5c3971dc9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#ga77dbab318178a69596d6cab5c3971dc9">XIN_IOMODULE_GPI_4_INTERRUPT_INTR</a>&#160;&#160;&#160;14</td></tr>
<tr class="memdesc:ga77dbab318178a69596d6cab5c3971dc9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interrupt register bit position masks.  <a href="#ga77dbab318178a69596d6cab5c3971dc9">More...</a><br /></td></tr>
<tr class="separator:ga77dbab318178a69596d6cab5c3971dc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Control Status Register Bit Definitions</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp77718337863d9bf57fe00a0d3574ed3d"></a>Control Status Register bit masks Used to configure the timer counter device. </p>
</td></tr>
<tr class="memitem:gaa7cbbacf96f3f51bcd12d5826b03e620"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gaa7cbbacf96f3f51bcd12d5826b03e620">XTC_CSR_ENABLE_TMR_MASK</a>&#160;&#160;&#160;0x00000001</td></tr>
<tr class="memdesc:gaa7cbbacf96f3f51bcd12d5826b03e620"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables the timer.  <a href="#gaa7cbbacf96f3f51bcd12d5826b03e620">More...</a><br /></td></tr>
<tr class="separator:gaa7cbbacf96f3f51bcd12d5826b03e620"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab06d844c7a245c7be88a63f3559bbd46"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iomodule__v2__2.html#gab06d844c7a245c7be88a63f3559bbd46">XTC_CSR_AUTO_RELOAD_MASK</a>&#160;&#160;&#160;0x00000002</td></tr>
<tr class="memdesc:gab06d844c7a245c7be88a63f3559bbd46"><td class="mdescLeft">&#160;</td><td class="mdescRight">In compare mode, configures the timer reload from the Load Register.  <a href="#gab06d844c7a245c7be88a63f3559bbd46">More...</a><br /></td></tr>
<tr class="separator:gab06d844c7a245c7be88a63f3559bbd46"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="ga7602eedbe37417de638a1f7825f80132"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7602eedbe37417de638a1f7825f80132">&#9670;&nbsp;</a></span>XGI_IN_OFFSET</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XGI_IN_OFFSET&#160;&#160;&#160;0x00000020</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8h.html">xiomodule_l.h</a>&gt;</code></p>

<p>General Purpose Input - R. </p>

</div>
</div>
<a id="ga3c685bb29e51f4564a7aea4d2d7fce34"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3c685bb29e51f4564a7aea4d2d7fce34">&#9670;&nbsp;</a></span>XGO_OUT_OFFSET</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XGO_OUT_OFFSET&#160;&#160;&#160;0x00000010</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8h.html">xiomodule_l.h</a>&gt;</code></p>

<p>General Purpose Output - W. </p>

</div>
</div>
<a id="ga9569489084c770e95974e4592e425b66"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9569489084c770e95974e4592e425b66">&#9670;&nbsp;</a></span>XGPI_CHAN_OFFSET</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XGPI_CHAN_OFFSET&#160;&#160;&#160;0x00004</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8h.html">xiomodule_l.h</a>&gt;</code></p>

<p>The following constants describe the offset of each GPI and GPO channel's data from the base address. </p>

<p class="reference">Referenced by <a class="el" href="group__iomodule__v2__2.html#ga9f2d50c168791e08aaf44d16ca5b26a9">XIOModule_DiscreteRead()</a>.</p>

</div>
</div>
<a id="gafb21e053e2c12734dfadd0affbbbc313"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafb21e053e2c12734dfadd0affbbbc313">&#9670;&nbsp;</a></span>XGPI_DEVICE_COUNT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XGPI_DEVICE_COUNT&#160;&#160;&#160;4</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8h.html">xiomodule_l.h</a>&gt;</code></p>

<p>Defines the number of GPI and GPO within a single hardware device. </p>
<p>This number is not currently parameterized in the hardware but may be in the future. </p>

<p class="reference">Referenced by <a class="el" href="group__iomodule__v2__2.html#ga9f2d50c168791e08aaf44d16ca5b26a9">XIOModule_DiscreteRead()</a>.</p>

</div>
</div>
<a id="gaf12b5f9e19d0d544e8df96699db615bd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf12b5f9e19d0d544e8df96699db615bd">&#9670;&nbsp;</a></span>XIN_IAR_OFFSET</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIN_IAR_OFFSET&#160;&#160;&#160;0x0000003C</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8h.html">xiomodule_l.h</a>&gt;</code></p>

<p>Intr Acknowledge Register - W. </p>

</div>
</div>
<a id="ga12fbacf76cabd206d17acefd187fa7b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga12fbacf76cabd206d17acefd187fa7b4">&#9670;&nbsp;</a></span>XIN_IER_OFFSET</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIN_IER_OFFSET&#160;&#160;&#160;0x00000038</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8h.html">xiomodule_l.h</a>&gt;</code></p>

<p>Intr Enable Register - W. </p>

</div>
</div>
<a id="ga2dc06911d25b46e1ddad8e2938f95b4c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2dc06911d25b46e1ddad8e2938f95b4c">&#9670;&nbsp;</a></span>XIN_IMR_OFFSET</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIN_IMR_OFFSET&#160;&#160;&#160;0x0000000C</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8h.html">xiomodule_l.h</a>&gt;</code></p>

<p>Intr Mode Register - W. </p>

</div>
</div>
<a id="ga77dbab318178a69596d6cab5c3971dc9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga77dbab318178a69596d6cab5c3971dc9">&#9670;&nbsp;</a></span>XIN_IOMODULE_GPI_4_INTERRUPT_INTR</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIN_IOMODULE_GPI_4_INTERRUPT_INTR&#160;&#160;&#160;14</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8h.html">xiomodule_l.h</a>&gt;</code></p>

<p>Interrupt register bit position masks. </p>

</div>
</div>
<a id="ga35c8f39e63012c1745df6faa39fc7335"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga35c8f39e63012c1745df6faa39fc7335">&#9670;&nbsp;</a></span>XIN_IPR_OFFSET</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIN_IPR_OFFSET&#160;&#160;&#160;0x00000034</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8h.html">xiomodule_l.h</a>&gt;</code></p>

<p>Intr Pending Register - R. </p>

<p class="reference">Referenced by <a class="el" href="group__iomodule__v2__2.html#ga431eb19a0f6aeab9bab0cdb09fdc30ce">XIOModule_Timer_InterruptHandler()</a>.</p>

</div>
</div>
<a id="ga4c1ce88ba61c2e42054faaef40539556"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4c1ce88ba61c2e42054faaef40539556">&#9670;&nbsp;</a></span>XIN_ISR_OFFSET</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIN_ISR_OFFSET&#160;&#160;&#160;0x00000030</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8h.html">xiomodule_l.h</a>&gt;</code></p>

<p>Intr Status Register - R. </p>

<p class="reference">Referenced by <a class="el" href="xiomodule__low__level__example_8c.html#a5f633edf662a9a5739da85d4b21a5c5c">IOModuleLowLevelExample()</a>.</p>

</div>
</div>
<a id="gab675a4446c4ab809551ea73ad2ca962d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab675a4446c4ab809551ea73ad2ca962d">&#9670;&nbsp;</a></span>XIN_IVAR_OFFSET</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIN_IVAR_OFFSET&#160;&#160;&#160;0x00000080</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8h.html">xiomodule_l.h</a>&gt;</code></p>

<p>Intr Vector Address Register, Interrupt 0 offset, present only for Fast Interrupt - W. </p>

</div>
</div>
<a id="gaf4bce8e2035f391b702686e49c66c839"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf4bce8e2035f391b702686e49c66c839">&#9670;&nbsp;</a></span>XIN_SVC_SGL_ISR_OPTION</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIN_SVC_SGL_ISR_OPTION&#160;&#160;&#160;1UL</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8h.html">xiomodule.h</a>&gt;</code></p>

<p>Used to configure the Interrupt Controller. </p>
<pre>
XIN_SVC_SGL_ISR_OPTION  Service the highest priority pending interrupt
                        and then return.
XIN_SVC_ALL_ISRS_OPTION Service all of the pending interrupts and then
                        return.
</pre> 
<p class="reference">Referenced by <a class="el" href="group__iomodule__v2__2.html#ga2e47bfda481c3ceab60d758f049758ef">XIOModule_DeviceInterruptHandler()</a>, <a class="el" href="group__iomodule__v2__2.html#ga67914ab7abde581aa2214b997923938d">XIOModule_Initialize()</a>, and <a class="el" href="group__iomodule__v2__2.html#ga1c71be14079487aef1623f8427ba39bb">XIOModule_SetOptions()</a>.</p>

</div>
</div>
<a id="gac3f5aa29d205f6221a017a04712c65f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac3f5aa29d205f6221a017a04712c65f0">&#9670;&nbsp;</a></span>XIOModule_AckIntr</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIOModule_AckIntr</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">BaseAddress, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">AckMask&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;XIomodule_Out32((BaseAddress) + <a class="el" href="group__iomodule__v2__2.html#gaf12b5f9e19d0d544e8df96699db615bd">XIN_IAR_OFFSET</a>, (AckMask))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8h.html">xiomodule_l.h</a>&gt;</code></p>

<p>Acknowledge specific interrupt(s) in the interrupt controller. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>is the base address of the device </td></tr>
    <tr><td class="paramname">AckMask</td><td>is the 32-bit value to write to the acknowledge register. Each bit of the mask corresponds to an interrupt input signal that is connected to the interrupt controller (INT0 = LSB). Only the bits which are set in the mask will acknowledge interrupts.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="group__iomodule__v2__2.html#gac3f5aa29d205f6221a017a04712c65f0" title="Acknowledge specific interrupt(s) in the interrupt controller. ">XIOModule_AckIntr(u32 BaseAddress, u32 AckMask)</a>; </dd></dl>

<p class="reference">Referenced by <a class="el" href="group__iomodule__v2__2.html#ga2e47bfda481c3ceab60d758f049758ef">XIOModule_DeviceInterruptHandler()</a>.</p>

</div>
</div>
<a id="gaaf77d72d553f17c2696ce54e3149f0d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaaf77d72d553f17c2696ce54e3149f0d0">&#9670;&nbsp;</a></span>XIOModule_DisableIntr</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIOModule_DisableIntr</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">BaseAddress, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">DisableMask&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;XIomodule_Out32((BaseAddress) + <a class="el" href="group__iomodule__v2__2.html#ga12fbacf76cabd206d17acefd187fa7b4">XIN_IER_OFFSET</a>, ~(DisableMask))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8h.html">xiomodule_l.h</a>&gt;</code></p>

<p>Disable specific interrupt(s) in the interrupt controller. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>is the base address of the device </td></tr>
    <tr><td class="paramname">DisableMask</td><td>is the 32-bit value to write to enable register. Each bit of the mask corresponds to an interrupt input signal that is connected to the interrupt controller (INT0 = LSB). Only bits which are set in the mask will disable interrupts.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="group__iomodule__v2__2.html#gaaf77d72d553f17c2696ce54e3149f0d0" title="Disable specific interrupt(s) in the interrupt controller. ">XIOModule_DisableIntr(u32 BaseAddress, u32 DisableMask)</a>; </dd></dl>

</div>
</div>
<a id="ga230620599fe987b03b47e6d04a442e60"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga230620599fe987b03b47e6d04a442e60">&#9670;&nbsp;</a></span>XIOModule_EnableIntr</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIOModule_EnableIntr</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">BaseAddress, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">EnableMask&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;XIomodule_Out32((BaseAddress) + <a class="el" href="group__iomodule__v2__2.html#ga12fbacf76cabd206d17acefd187fa7b4">XIN_IER_OFFSET</a>, (EnableMask))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8h.html">xiomodule_l.h</a>&gt;</code></p>

<p>Enable specific interrupt(s) in the interrupt controller. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>is the base address of the device </td></tr>
    <tr><td class="paramname">EnableMask</td><td>is the 32-bit value to write to the enable register. Each bit of the mask corresponds to an interrupt input signal that is connected to the interrupt controller (INT0 = LSB). Only the bits which are set in the mask will enable interrupts.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="group__iomodule__v2__2.html#ga230620599fe987b03b47e6d04a442e60" title="Enable specific interrupt(s) in the interrupt controller. ">XIOModule_EnableIntr(u32 BaseAddress, u32 EnableMask)</a>; </dd></dl>

<p class="reference">Referenced by <a class="el" href="xiomodule__low__level__example_8c.html#a5f633edf662a9a5739da85d4b21a5c5c">IOModuleLowLevelExample()</a>.</p>

</div>
</div>
<a id="ga128f261df0c50d6e1b090e2a9e9d1874"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga128f261df0c50d6e1b090e2a9e9d1874">&#9670;&nbsp;</a></span>XIOModule_GetIntrStatus</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIOModule_GetIntrStatus</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">BaseAddress</td><td>)</td>
          <td>&#160;&#160;&#160;(XIomodule_In32((BaseAddress) + <a class="el" href="group__iomodule__v2__2.html#ga35c8f39e63012c1745df6faa39fc7335">XIN_IPR_OFFSET</a>))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8h.html">xiomodule_l.h</a>&gt;</code></p>

<p>Get the interrupt status from the interrupt controller which indicates which interrupts are active and enabled. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>is the base address of the device</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The 32-bit contents of the interrupt status register. Each bit corresponds to an interrupt input signal that is connected to the interrupt controller (INT0 = LSB). Bits which are set indicate an active interrupt which is also enabled.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: u32 <a class="el" href="group__iomodule__v2__2.html#ga128f261df0c50d6e1b090e2a9e9d1874" title="Get the interrupt status from the interrupt controller which indicates which interrupts are active an...">XIOModule_GetIntrStatus(u32 BaseAddress)</a>; </dd></dl>

<p class="reference">Referenced by <a class="el" href="group__iomodule__v2__2.html#ga2e47bfda481c3ceab60d758f049758ef">XIOModule_DeviceInterruptHandler()</a>.</p>

</div>
</div>
<a id="ga313c2576e159fd472cb0b25b7a395837"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga313c2576e159fd472cb0b25b7a395837">&#9670;&nbsp;</a></span>XIOModule_GetStatusReg</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIOModule_GetStatusReg</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">BaseAddress</td><td>)</td>
          <td>&#160;&#160;&#160;XIomodule_In32((BaseAddress) + <a class="el" href="group__iomodule__v2__2.html#ga13cc5a4dd0ee4939136579f2e8dc9ce5">XUL_STATUS_REG_OFFSET</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8h.html">xiomodule_l.h</a>&gt;</code></p>

<p>Get the contents of the UART status register. </p>
<p>Use the XUL_SR_* constants defined above to interpret the bit-mask returned.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>is the base address of the device</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A 32-bit value representing the contents of the status register.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style Signature: u32 <a class="el" href="group__iomodule__v2__2.html#ga313c2576e159fd472cb0b25b7a395837" title="Get the contents of the UART status register. ">XIOModule_GetStatusReg(u32 BaseAddress)</a>; </dd></dl>

<p class="reference">Referenced by <a class="el" href="group__iomodule__v2__2.html#ga70b12729029fff571ad8915dc30897d6">XIOModule_ReceiveBuffer()</a>, <a class="el" href="group__iomodule__v2__2.html#ga1fc16de9c0cbaad1d3022d19a0d883cd">XIOModule_SendBuffer()</a>, and <a class="el" href="group__iomodule__v2__2.html#gacf2a67095f9797403f5c269fdcd7a6b2">XIOModule_Uart_InterruptHandler()</a>.</p>

</div>
</div>
<a id="gad9c5e48a02c0aba03cb1d8d7583b37f6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad9c5e48a02c0aba03cb1d8d7583b37f6">&#9670;&nbsp;</a></span>XIOModule_IsReceiveEmpty</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIOModule_IsReceiveEmpty</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">BaseAddress</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8h.html">xiomodule_l.h</a>&gt;</code></p>
<b>Value:</b><div class="fragment"><div class="line">((<a class="code" href="group__iomodule__v2__2.html#ga313c2576e159fd472cb0b25b7a395837">XIOModule_GetStatusReg</a>((BaseAddress)) &amp; <a class="code" href="group__iomodule__v2__2.html#ga7a1722c4c799b50641831e1d092d9893">XUL_SR_RX_FIFO_VALID_DATA</a>) != \</div><div class="line">        <a class="code" href="group__iomodule__v2__2.html#ga7a1722c4c799b50641831e1d092d9893">XUL_SR_RX_FIFO_VALID_DATA</a>)</div><div class="ttc" id="group__iomodule__v2__2_html_ga7a1722c4c799b50641831e1d092d9893"><div class="ttname"><a href="group__iomodule__v2__2.html#ga7a1722c4c799b50641831e1d092d9893">XUL_SR_RX_FIFO_VALID_DATA</a></div><div class="ttdeci">#define XUL_SR_RX_FIFO_VALID_DATA</div><div class="ttdoc">UART Data Register valid. </div><div class="ttdef"><b>Definition:</b> xiomodule_l.h:141</div></div>
<div class="ttc" id="group__iomodule__v2__2_html_ga313c2576e159fd472cb0b25b7a395837"><div class="ttname"><a href="group__iomodule__v2__2.html#ga313c2576e159fd472cb0b25b7a395837">XIOModule_GetStatusReg</a></div><div class="ttdeci">#define XIOModule_GetStatusReg(BaseAddress)</div><div class="ttdoc">Get the contents of the UART status register. </div><div class="ttdef"><b>Definition:</b> xiomodule_l.h:333</div></div>
</div><!-- fragment -->
<p>Check to see if the UART receiver has data. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>is the base address of the device</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE if the receiver is empty, FALSE if there is data present.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style Signature: int <a class="el" href="group__iomodule__v2__2.html#gad9c5e48a02c0aba03cb1d8d7583b37f6" title="Check to see if the UART receiver has data. ">XIOModule_IsReceiveEmpty(u32 BaseAddress)</a>; </dd></dl>

<p class="reference">Referenced by <a class="el" href="group__iomodule__v2__2.html#gaf1784b245813307028ba028246e39606">XIOModule_RecvByte()</a>.</p>

</div>
</div>
<a id="ga93c23372164e627f79da9488ea43161a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga93c23372164e627f79da9488ea43161a">&#9670;&nbsp;</a></span>XIOModule_IsTransmitFull</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIOModule_IsTransmitFull</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">BaseAddress</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8h.html">xiomodule_l.h</a>&gt;</code></p>
<b>Value:</b><div class="fragment"><div class="line">((<a class="code" href="group__iomodule__v2__2.html#ga313c2576e159fd472cb0b25b7a395837">XIOModule_GetStatusReg</a>((BaseAddress)) &amp; <a class="code" href="group__iomodule__v2__2.html#ga76bf6a9a14882e45364a21693be7e920">XUL_SR_TX_FIFO_FULL</a>) == \</div><div class="line">          <a class="code" href="group__iomodule__v2__2.html#ga76bf6a9a14882e45364a21693be7e920">XUL_SR_TX_FIFO_FULL</a>)</div><div class="ttc" id="group__iomodule__v2__2_html_ga76bf6a9a14882e45364a21693be7e920"><div class="ttname"><a href="group__iomodule__v2__2.html#ga76bf6a9a14882e45364a21693be7e920">XUL_SR_TX_FIFO_FULL</a></div><div class="ttdeci">#define XUL_SR_TX_FIFO_FULL</div><div class="ttdoc">UART Transmit FIFO full. </div><div class="ttdef"><b>Definition:</b> xiomodule_l.h:140</div></div>
<div class="ttc" id="group__iomodule__v2__2_html_ga313c2576e159fd472cb0b25b7a395837"><div class="ttname"><a href="group__iomodule__v2__2.html#ga313c2576e159fd472cb0b25b7a395837">XIOModule_GetStatusReg</a></div><div class="ttdeci">#define XIOModule_GetStatusReg(BaseAddress)</div><div class="ttdoc">Get the contents of the UART status register. </div><div class="ttdef"><b>Definition:</b> xiomodule_l.h:333</div></div>
</div><!-- fragment -->
<p>Check to see if the transmitter is full. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>is the base address of the device</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE if the transmitter is full, FALSE otherwise.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style Signature: int <a class="el" href="group__iomodule__v2__2.html#ga93c23372164e627f79da9488ea43161a" title="Check to see if the transmitter is full. ">XIOModule_IsTransmitFull(u32 BaseAddress)</a>; </dd></dl>

<p class="reference">Referenced by <a class="el" href="group__iomodule__v2__2.html#ga77e0649e78c817c27b628b6713c12451">XIOModule_SendByte()</a>.</p>

</div>
</div>
<a id="ga4eaff234e65f369a870fca3b92215df4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4eaff234e65f369a870fca3b92215df4">&#9670;&nbsp;</a></span>XIOModule_ReadReg</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIOModule_ReadReg</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">BaseAddress, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">RegOffset&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;XIomodule_In32((BaseAddress) + (RegOffset))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8h.html">xiomodule_l.h</a>&gt;</code></p>

<p>Read a value from a GPI register. </p>
<p>A 32 bit read is performed. If the GPI component is implemented in a smaller width, only the least significant data is read from the register. The most significant data will be read as 0.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>is the base address of the GPI device. </td></tr>
    <tr><td class="paramname">RegOffset</td><td>is the register offset from the base to read from.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Data read from the register.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: u32 <a class="el" href="group__iomodule__v2__2.html#ga4eaff234e65f369a870fca3b92215df4" title="Read a value from a GPI register. ">XIOModule_ReadReg(u32 BaseAddress, unsigned RegOffset)</a> </dd></dl>

<p class="reference">Referenced by <a class="el" href="group__iomodule__v2__2.html#ga9f2d50c168791e08aaf44d16ca5b26a9">XIOModule_DiscreteRead()</a>, <a class="el" href="group__iomodule__v2__2.html#gaa582b33e2d93e0f0072b3235ed6fb741">XIOModule_IsSending()</a>, <a class="el" href="group__iomodule__v2__2.html#ga70b12729029fff571ad8915dc30897d6">XIOModule_ReceiveBuffer()</a>, and <a class="el" href="group__iomodule__v2__2.html#ga431eb19a0f6aeab9bab0cdb09fdc30ce">XIOModule_Timer_InterruptHandler()</a>.</p>

</div>
</div>
<a id="ga829c77e3efe996211599f9a2a6bb4890"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga829c77e3efe996211599f9a2a6bb4890">&#9670;&nbsp;</a></span>XIOModule_WriteReg</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIOModule_WriteReg</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">BaseAddress, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">RegOffset, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Data&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;XIomodule_Out32((BaseAddress) + (RegOffset), (u32)(Data))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8h.html">xiomodule_l.h</a>&gt;</code></p>

<p>Write a value to a GPO register. </p>
<p>A 32 bit write is performed. If the GPO component is implemented in a smaller width, only the least significant data is written.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>is the base address of the GPO device. </td></tr>
    <tr><td class="paramname">RegOffset</td><td>is the register offset from the base to write to. </td></tr>
    <tr><td class="paramname">Data</td><td>is the data written to the register.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void XIOModule_WriteReg(u32 BaseAddress, unsigned RegOffset, u32 Data) </dd></dl>

</div>
</div>
<a id="gab06d844c7a245c7be88a63f3559bbd46"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab06d844c7a245c7be88a63f3559bbd46">&#9670;&nbsp;</a></span>XTC_CSR_AUTO_RELOAD_MASK</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XTC_CSR_AUTO_RELOAD_MASK&#160;&#160;&#160;0x00000002</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8h.html">xiomodule_l.h</a>&gt;</code></p>

<p>In compare mode, configures the timer reload from the Load Register. </p>
<p>The default mode causes the timer counter to hold when it rolls under. </p>

</div>
</div>
<a id="gaa7cbbacf96f3f51bcd12d5826b03e620"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa7cbbacf96f3f51bcd12d5826b03e620">&#9670;&nbsp;</a></span>XTC_CSR_ENABLE_TMR_MASK</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XTC_CSR_ENABLE_TMR_MASK&#160;&#160;&#160;0x00000001</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8h.html">xiomodule_l.h</a>&gt;</code></p>

<p>Enables the timer. </p>

</div>
</div>
<a id="gaba99b973ef1f13bf0a2716cf52ca5319"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaba99b973ef1f13bf0a2716cf52ca5319">&#9670;&nbsp;</a></span>XTC_DEVICE_TIMER_COUNT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XTC_DEVICE_TIMER_COUNT&#160;&#160;&#160;4</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8h.html">xiomodule_l.h</a>&gt;</code></p>

<p>Defines the number of timer counters within a single hardware device. </p>
<p>This number is not currently parameterized in the hardware but may be in the future. </p>

<p class="reference">Referenced by <a class="el" href="xiomodule__intr__example_8c.html#a86fc21e1458de7ebff30e9a959ecd773">IOModuleDisableIntr()</a>, <a class="el" href="group__iomodule__v2__2.html#gae50d24ec7a10fc2b3167d5f3a6070107">XIOModel_Timer_GetOptions()</a>, <a class="el" href="group__iomodule__v2__2.html#gaf4281a3f3f5e5620d4e78dc904ab04cf">XIOModule_GetCaptureValue()</a>, <a class="el" href="group__iomodule__v2__2.html#gad0dad0abc10925039a42855110f8256f">XIOModule_Timer_Initialize()</a>, <a class="el" href="group__iomodule__v2__2.html#ga431eb19a0f6aeab9bab0cdb09fdc30ce">XIOModule_Timer_InterruptHandler()</a>, and <a class="el" href="group__iomodule__v2__2.html#ga47eeba74f17b3a38bb1f6d43d76453d6">XIOModule_Timer_SelfTest()</a>.</p>

</div>
</div>
<a id="gaad72f141ec429ad4b782868c33b32c1b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaad72f141ec429ad4b782868c33b32c1b">&#9670;&nbsp;</a></span>XTC_INT_MODE_OPTION</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XTC_INT_MODE_OPTION&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8h.html">xiomodule.h</a>&gt;</code></p>

<p>Used to configure the Programmable Interval Timer. </p>
<pre>
XTC_INT_MODE_OPTION             Dummy compatibility option. Enable interrupt
                             output.
XTC_AUTO_RELOAD_OPTION  In compare mode, configures the timer to reload
                             from the load value. The default mode causes
                             the timer to hold after it rolls under.
</pre> 
</div>
</div>
<a id="gaf20fd1c0a59c98120a71fca59e4ebaee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf20fd1c0a59c98120a71fca59e4ebaee">&#9670;&nbsp;</a></span>XTC_PRESCALER_NONE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XTC_PRESCALER_NONE&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8h.html">xiomodule.h</a>&gt;</code></p>

<p>Mnemonics for the Programmable Interval Timer hardware configuration. </p>
<pre>
XTC_PRESCALER_* Define the prescaler configured in hardware.
</pre> 
</div>
</div>
<a id="gad054cd3c12bc686f9be366e093c2f97a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad054cd3c12bc686f9be366e093c2f97a">&#9670;&nbsp;</a></span>XTC_TCR_OFFSET</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XTC_TCR_OFFSET&#160;&#160;&#160;0x00000044</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8h.html">xiomodule_l.h</a>&gt;</code></p>

<p>Timer counter register - R. </p>

</div>
</div>
<a id="ga81c9a818cb57cf5f106cf5a3b7c3c59f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga81c9a818cb57cf5f106cf5a3b7c3c59f">&#9670;&nbsp;</a></span>XTC_TCSR_OFFSET</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XTC_TCSR_OFFSET&#160;&#160;&#160;0x00000048</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8h.html">xiomodule_l.h</a>&gt;</code></p>

<p>Timer Control register - W. </p>

</div>
</div>
<a id="ga22c78277a54b31ec738e72eca0662e35"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga22c78277a54b31ec738e72eca0662e35">&#9670;&nbsp;</a></span>XTC_TIMER_COUNTER_OFFSET</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XTC_TIMER_COUNTER_OFFSET&#160;&#160;&#160;16</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8h.html">xiomodule_l.h</a>&gt;</code></p>

<p>Each timer counter consumes 16 bytes of address space. </p>

</div>
</div>
<a id="ga38a380fdcb3114c3db51524a8182c4ad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga38a380fdcb3114c3db51524a8182c4ad">&#9670;&nbsp;</a></span>XTC_TLR_OFFSET</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XTC_TLR_OFFSET&#160;&#160;&#160;0x00000040</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8h.html">xiomodule_l.h</a>&gt;</code></p>

<p>Timer Load register - W. </p>

</div>
</div>
<a id="gaa2bc39bbb18ba649d4afbe729ee246c0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa2bc39bbb18ba649d4afbe729ee246c0">&#9670;&nbsp;</a></span>XUL_BAUDRATE_OFFSET</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUL_BAUDRATE_OFFSET&#160;&#160;&#160;0x0000004C</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8h.html">xiomodule_l.h</a>&gt;</code></p>

<p>UART Baud Rate Register - W. </p>

</div>
</div>
<a id="ga3b04347e664ae6d55ebd9d2609191767"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3b04347e664ae6d55ebd9d2609191767">&#9670;&nbsp;</a></span>XUL_PARITY_NONE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUL_PARITY_NONE&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8h.html">xiomodule_l.h</a>&gt;</code></p>

<p>UART Parity definitions. </p>

</div>
</div>
<a id="gad3154a9fc1e2fd70c0cc37772e15b907"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad3154a9fc1e2fd70c0cc37772e15b907">&#9670;&nbsp;</a></span>XUL_RX_OFFSET</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUL_RX_OFFSET&#160;&#160;&#160;0x00000000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8h.html">xiomodule_l.h</a>&gt;</code></p>

<p>Define the offsets from the base address for all the registers of the IO module, some registers may be optional in the hardware device. </p>
<p>UART Receive Register - R </p>

<p class="reference">Referenced by <a class="el" href="group__iomodule__v2__2.html#ga70b12729029fff571ad8915dc30897d6">XIOModule_ReceiveBuffer()</a>.</p>

</div>
</div>
<a id="gaef49f4399d015532ee90cda2c0045324"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaef49f4399d015532ee90cda2c0045324">&#9670;&nbsp;</a></span>XUL_SR_INTR_ENABLED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUL_SR_INTR_ENABLED&#160;&#160;&#160;0x10</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8h.html">xiomodule_l.h</a>&gt;</code></p>

<p>UART Interrupt enabled. </p>

</div>
</div>
<a id="ga33cf5a2b5ddc5ae960235ce37cd6c32f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga33cf5a2b5ddc5ae960235ce37cd6c32f">&#9670;&nbsp;</a></span>XUL_SR_PARITY_ERROR</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUL_SR_PARITY_ERROR&#160;&#160;&#160;0x80</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8h.html">xiomodule_l.h</a>&gt;</code></p>

<p>UART status register bit position masks. </p>

</div>
</div>
<a id="ga7a1722c4c799b50641831e1d092d9893"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7a1722c4c799b50641831e1d092d9893">&#9670;&nbsp;</a></span>XUL_SR_RX_FIFO_VALID_DATA</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUL_SR_RX_FIFO_VALID_DATA&#160;&#160;&#160;0x01</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8h.html">xiomodule_l.h</a>&gt;</code></p>

<p>UART Data Register valid. </p>

<p class="reference">Referenced by <a class="el" href="group__iomodule__v2__2.html#ga70b12729029fff571ad8915dc30897d6">XIOModule_ReceiveBuffer()</a>, and <a class="el" href="group__iomodule__v2__2.html#gacf2a67095f9797403f5c269fdcd7a6b2">XIOModule_Uart_InterruptHandler()</a>.</p>

</div>
</div>
<a id="ga76bf6a9a14882e45364a21693be7e920"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga76bf6a9a14882e45364a21693be7e920">&#9670;&nbsp;</a></span>XUL_SR_TX_FIFO_FULL</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUL_SR_TX_FIFO_FULL&#160;&#160;&#160;0x08</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8h.html">xiomodule_l.h</a>&gt;</code></p>

<p>UART Transmit FIFO full. </p>

<p class="reference">Referenced by <a class="el" href="group__iomodule__v2__2.html#gaa582b33e2d93e0f0072b3235ed6fb741">XIOModule_IsSending()</a>.</p>

</div>
</div>
<a id="ga13cc5a4dd0ee4939136579f2e8dc9ce5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga13cc5a4dd0ee4939136579f2e8dc9ce5">&#9670;&nbsp;</a></span>XUL_STATUS_REG_OFFSET</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUL_STATUS_REG_OFFSET&#160;&#160;&#160;0x00000008</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8h.html">xiomodule_l.h</a>&gt;</code></p>

<p>UART Status Register - R. </p>

<p class="reference">Referenced by <a class="el" href="group__iomodule__v2__2.html#gaa582b33e2d93e0f0072b3235ed6fb741">XIOModule_IsSending()</a>.</p>

</div>
</div>
<a id="gaf9a9355e4872a6de8340af575c2aec72"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf9a9355e4872a6de8340af575c2aec72">&#9670;&nbsp;</a></span>XUL_STOP_BITS</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUL_STOP_BITS&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8h.html">xiomodule_l.h</a>&gt;</code></p>

<p>UART stop bits are fixed at 1. </p>
<p>Baud, parity, and data bits are fixed on a per instance basis. </p>

</div>
</div>
<a id="ga0a78233dc7306487ebb9c5adebacac00"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0a78233dc7306487ebb9c5adebacac00">&#9670;&nbsp;</a></span>XUL_TX_OFFSET</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUL_TX_OFFSET&#160;&#160;&#160;0x00000004</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8h.html">xiomodule_l.h</a>&gt;</code></p>

<p>UART Transmit Register - W. </p>

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="gab2ed9b9671c9ee41bbe9b8ea388b7cb7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab2ed9b9671c9ee41bbe9b8ea388b7cb7">&#9670;&nbsp;</a></span>XIOModule_Handler</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* XIOModule_Handler) (void *CallBackRef, unsigned int ByteCount)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8h.html">xiomodule.h</a>&gt;</code></p>

<p>Callback function. </p>
<p>The first argument is a callback reference passed in by the upper layer when setting the callback functions, and passed back to the upper layer when the callback is invoked. The second argument is the ByteCount which is the number of bytes that actually moved from/to the buffer provided in the _Send/_Receive call. </p>

</div>
</div>
<a id="ga277788a18dc4e9d594730c330da34bec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga277788a18dc4e9d594730c330da34bec">&#9670;&nbsp;</a></span>XIOModule_Timer_Handler</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* XIOModule_Timer_Handler) (void *CallBackRef, u8 TimerNumber)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8h.html">xiomodule.h</a>&gt;</code></p>

<p>Signature for the timer callback function. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">CallBackRef</td><td>is a callback reference passed in by the upper layer when setting the callback functions, and passed back to the upper layer when the callback is invoked. Its type is unimportant to the driver, so it is a void pointer. </td></tr>
    <tr><td class="paramname">TimerNumber</td><td>is the number of the timer within the device. The device typically contains from one to four timers. The timer number is a zero based number with a range of 0 to (XTC_DEVICE_TIMER_COUNT - 1). </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="gae50d24ec7a10fc2b3167d5f3a6070107"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae50d24ec7a10fc2b3167d5f3a6070107">&#9670;&nbsp;</a></span>XIOModel_Timer_GetOptions()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XIOModel_Timer_GetOptions </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>TimerNumber</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__options_8c.html">xiomodule_options.c</a>&gt;</code></p>

<p>Get the options for the specified timer. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance. </td></tr>
    <tr><td class="paramname">TimerNumber</td><td>is the timer of the device to operate on Each device may contain multiple timer. The timer number is a zero based number with a range of 0 to (XTC_DEVICE_TIMER_COUNT - 1).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd></dd></dl>
<p>The currently set options. An option which is set to a '1' is enabled and set to a '0' is disabled. The options are bit masks such that multiple options may be set or cleared. The options are described in <a class="el" href="xiomodule_8h.html">xiomodule.h</a>.</p>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_i_o_module.html#a87d8836bb3fa194998a6ee74364c6bc3">XIOModule::CurrentTCSR</a>, <a class="el" href="struct_x_i_o_module.html#a0cee7cfb4687662370f0900c9c0b31d0">XIOModule::IsReady</a>, and <a class="el" href="group__iomodule__v2__2.html#gaba99b973ef1f13bf0a2716cf52ca5319">XTC_DEVICE_TIMER_COUNT</a>.</p>

</div>
</div>
<a id="ga036018140fd9f14af05eec37b3cb2e93"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga036018140fd9f14af05eec37b3cb2e93">&#9670;&nbsp;</a></span>XIOModule_Acknowledge()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIOModule_Acknowledge </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>Id</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8c.html">xiomodule.c</a>&gt;</code></p>

<p>Acknowledges the interrupt source provided as the argument Id. </p>
<p>When the interrupt is acknowledged, it causes the interrupt controller to clear its interrupt condition.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance to be worked on. </td></tr>
    <tr><td class="paramname">Id</td><td>contains the ID of the interrupt source and should be in the range of 0 to XPAR_IOMODULE_INTC_MAX_INTR_SIZE - 1 with 0 being the highest priority interrupt.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_i_o_module.html#a0cee7cfb4687662370f0900c9c0b31d0">XIOModule::IsReady</a>.</p>

</div>
</div>
<a id="ga99ce16ec0f081059b1971bce386b6f50"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga99ce16ec0f081059b1971bce386b6f50">&#9670;&nbsp;</a></span>XIOModule_CfgInitialize()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XIOModule_CfgInitialize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module___config.html">XIOModule_Config</a> *&#160;</td>
          <td class="paramname"><em>Config</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>EffectiveAddr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8h.html">xiomodule.h</a>&gt;</code></p>

<p>Initialize a <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance. </p>
<p>This function disables the UART interrupts. The baud rate and format of the data are fixed in the hardware at hardware build time, except if programmable baud rate is selected.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance. </td></tr>
    <tr><td class="paramname">Config</td><td>is a reference to a structure containing information about a specific IO Module device. This function initializes an InstancePtr object for a specific device specified by the contents of Config. This function can initialize multiple instance objects with the use of multiple calls giving different Config information on each call. </td></tr>
    <tr><td class="paramname">EffectiveAddr</td><td>is the device register base address. Use Config-&gt;BaseAddress for this parameters, passing the physical address.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if everything starts up as expected.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>The Config and EffectiveAddress arguments are not used by this function, but are provided to keep the function signature consistent with other drivers. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_i_o_module.html#a0cee7cfb4687662370f0900c9c0b31d0">XIOModule::IsReady</a>, <a class="el" href="struct_x_i_o_module.html#a9779459fb73d4db975bdf4d112d63408">XIOModule::ReceiveBuffer</a>, <a class="el" href="struct_x_i_o_module.html#a7d242c9d237f263e9b895b57c827b728">XIOModule::RecvHandler</a>, and <a class="el" href="struct_x_i_o_module.html#ab43b4d33329f1d1c7685f0123dc37588">XIOModule::SendBuffer</a>.</p>

</div>
</div>
<a id="ga61a582e9785291f7c6e0b91c19c46bd8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga61a582e9785291f7c6e0b91c19c46bd8">&#9670;&nbsp;</a></span>XIOModule_ClearStats()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIOModule_ClearStats </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8h.html">xiomodule.h</a>&gt;</code></p>

<p>This function zeros the statistics for the given instance. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_i_o_module___uart___stats.html#a6007db24145bcd77eea843689a894999">XIOModule_Uart_Stats::CharactersReceived</a>, <a class="el" href="struct_x_i_o_module___uart___stats.html#a0e5ff03c225123a482235e43ba8b60f0">XIOModule_Uart_Stats::CharactersTransmitted</a>, <a class="el" href="struct_x_i_o_module.html#a0cee7cfb4687662370f0900c9c0b31d0">XIOModule::IsReady</a>, <a class="el" href="struct_x_i_o_module___uart___stats.html#af4fe5a6370521fcd8eb7cad5644f84a1">XIOModule_Uart_Stats::ReceiveFramingErrors</a>, <a class="el" href="struct_x_i_o_module___uart___stats.html#a129217276becb44353a60f4d4dafb1c7">XIOModule_Uart_Stats::ReceiveInterrupts</a>, <a class="el" href="struct_x_i_o_module___uart___stats.html#a8c4abe366c5215270523d5df0d9e1b71">XIOModule_Uart_Stats::ReceiveOverrunErrors</a>, <a class="el" href="struct_x_i_o_module___uart___stats.html#a8c46d3426903c6709de209550b6286c3">XIOModule_Uart_Stats::ReceiveParityErrors</a>, <a class="el" href="struct_x_i_o_module___uart___stats.html#ad2939bb3e9f8fc089a2b0168425b4369">XIOModule_Uart_Stats::TransmitInterrupts</a>, and <a class="el" href="struct_x_i_o_module.html#a012d912c3ca44ef12ff3e9877950912d">XIOModule::Uart_Stats</a>.</p>

</div>
</div>
<a id="ga65efd62e9193f589aa82dfa26fc90142"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga65efd62e9193f589aa82dfa26fc90142">&#9670;&nbsp;</a></span>XIOModule_Connect()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XIOModule_Connect </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>Id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XInterruptHandler&#160;</td>
          <td class="paramname"><em>Handler</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>CallBackRef</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8c.html">xiomodule.c</a>&gt;</code></p>

<p>Makes the connection between the Id of the interrupt source and the associated handler that is to run when the interrupt is recognized. </p>
<p>The argument provided in this call as the Callbackref is used as the argument for the handler when it is called.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance to be worked on. </td></tr>
    <tr><td class="paramname">Id</td><td>contains the ID of the interrupt source and should be in the range of 0 to XPAR_IOMODULE_INTC_MAX_INTR_SIZE - 1 with 0 being the highest priority interrupt. </td></tr>
    <tr><td class="paramname">Handler</td><td>to the handler for that interrupt. </td></tr>
    <tr><td class="paramname">CallBackRef</td><td>is the callback reference, usually the instance pointer of the connecting driver.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if the handler was connected correctly.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Only used with normal interrupt mode. Does not restore normal interrupt mode.</dd></dl>
<p>WARNING: The handler provided as an argument will overwrite any handler that was previously connected. </p>

<p class="reference">Referenced by <a class="el" href="xiomodule__example_8c.html#a49f5325ad368c16f4f82e1530c4d1508">SetUpInterruptSystem()</a>.</p>

</div>
</div>
<a id="ga41e9fc5bdcbf29ff8675104fdef91697"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga41e9fc5bdcbf29ff8675104fdef91697">&#9670;&nbsp;</a></span>XIOModule_ConnectFastHandler()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XIOModule_ConnectFastHandler </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>Id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XFastInterruptHandler&#160;</td>
          <td class="paramname"><em>Handler</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8c.html">xiomodule.c</a>&gt;</code></p>

<p>Makes the connection between the Id of the interrupt source and the associated handler that is to run when the interrupt is recognized. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance. </td></tr>
    <tr><td class="paramname">Id</td><td>contains the ID of the interrupt source and should be in the range of 0 to XPAR_INTC_MAX_NUM_INTR_INPUTS - 1 with 0 being the highest priority interrupt. </td></tr>
    <tr><td class="paramname">Handler</td><td>to the handler for that interrupt.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if the handler was connected correctly.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Only used with fast interrupt mode.</dd></dl>
<p>WARNING: The handler provided as an argument will overwrite any handler that was previously connected. </p>

</div>
</div>
<a id="ga2e47bfda481c3ceab60d758f049758ef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2e47bfda481c3ceab60d758f049758ef">&#9670;&nbsp;</a></span>XIOModule_DeviceInterruptHandler()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIOModule_DeviceInterruptHandler </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>DeviceId</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8c.html">xiomodule_l.c</a>&gt;</code></p>

<p>This is the interrupt handler for the driver interface provided in this file when there can be no argument passed to the handler. </p>
<p>In this case, we just use the globally defined device ID for the interrupt controller. This function is provided mostly for backward compatibility. The user should use <a class="el" href="group__iomodule__v2__2.html#ga2e47bfda481c3ceab60d758f049758ef" title="This is the interrupt handler for the driver interface provided in this file when there can be no arg...">XIOModule_DeviceInterruptHandler()</a> if possible.</p>
<p>This function does not support multiple interrupt controller instances to be handled.</p>
<p>The user must connect this function to the interrupt system such that it is called whenever the devices which are connected to it cause an interrupt.</p>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd></dd></dl>
<p>The constant XPAR_IOMODULE_SINGLE_DEVICE_ID must be defined for this handler to be included in the driver compilation.</p>
<p>This function is the primary interrupt handler for the driver. It must be connected to the interrupt source such that is called when an interrupt of the interrupt controller is active. It will resolve which interrupts are active and enabled and call the appropriate interrupt handler. It uses the AckBeforeService flag in the configuration data to determine when to acknowledge the interrupt. Highest priority interrupts are serviced first. The driver can be configured to service only the highest priority interrupt or all pending interrupts using the {<a class="el" href="group__iomodule__v2__2.html#ga1c71be14079487aef1623f8427ba39bb" title="Set the options for the interrupt controller driver. ">XIOModule_SetOptions()</a>} function or the {XIOModule_SetIntrSrvOption()} function.</p>
<p>This function assumes that an interrupt vector table has been previously initialized. It does not verify that entries in the table are valid before calling an interrupt handler, except skipping null handlers that indicate use of fast interrupts where the hardware directly jumps to the handler.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">DeviceId</td><td>is the zero-based device ID defined in xparameters.h of the interrupting interrupt controller. It is used as a direct index into the configuration data, which contains the vector table for the interrupt controller. Note that even though the argument is a void pointer, the value is not a pointer but the actual device ID. The void pointer type is necessary to meet the XInterruptHandler typedef for interrupt handlers.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd></dd></dl>
<p>The constant XPAR_IOMODULE_MAX_INTR_SIZE must be setup for this to compile. Interrupt IDs range from 0 - 31 and correspond to the interrupt input signals for the interrupt controller. XPAR_IOMODULE_MAX_INTR_SIZE specifies the highest numbered interrupt input signal that is used. </p>

<p class="reference">References <a class="el" href="struct_x_i_o_module___config.html#ac6ae9a061286b668acd886f7489d62d6">XIOModule_Config::AckBeforeService</a>, <a class="el" href="struct_x_i_o_module___config.html#a68d551b0b51bcb14ebe271d3d1da2b2a">XIOModule_Config::BaseAddress</a>, <a class="el" href="struct_x_i_o_module___config.html#afcb02fbe1f9b90712964890a1429373d">XIOModule_Config::HandlerTable</a>, <a class="el" href="struct_x_i_o_module___config.html#af918e849ecf4c42ea56df244bde6f7e6">XIOModule_Config::Options</a>, <a class="el" href="group__iomodule__v2__2.html#gaf4bce8e2035f391b702686e49c66c839">XIN_SVC_SGL_ISR_OPTION</a>, <a class="el" href="group__iomodule__v2__2.html#gac3f5aa29d205f6221a017a04712c65f0">XIOModule_AckIntr</a>, <a class="el" href="group__iomodule__v2__2.html#gafab2167a879586e6baa45e8706ed6a6a">XIOModule_ConfigTable</a>, and <a class="el" href="group__iomodule__v2__2.html#ga128f261df0c50d6e1b090e2a9e9d1874">XIOModule_GetIntrStatus</a>.</p>

<p class="reference">Referenced by <a class="el" href="xiomodule__intr__example_8c.html#ad5cc5121d53068e10cc77ae24c6423fc">IOModuleSetupIntrSystem()</a>, and <a class="el" href="group__iomodule__v2__2.html#ga848da9f83ad1188caca777cd324cec10">XIOModule_InterruptHandler()</a>.</p>

</div>
</div>
<a id="ga2ab631d859f9fc7b00f3c8367d763c49"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2ab631d859f9fc7b00f3c8367d763c49">&#9670;&nbsp;</a></span>XIOModule_Disable()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIOModule_Disable </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>Id</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8c.html">xiomodule.c</a>&gt;</code></p>

<p>Disables the interrupt source provided as the argument Id such that the interrupt controller will not cause interrupts for the specified Id. </p>
<p>The interrupt controller will continue to hold an interrupt condition for the Id, but will not cause an interrupt.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance to be worked on. </td></tr>
    <tr><td class="paramname">Id</td><td>contains the ID of the interrupt source and should be in the range of 0 to XPAR_IOMODULE_INTC_MAX_INTR_SIZE - 1 with 0 being the highest priority interrupt.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_i_o_module.html#a0cee7cfb4687662370f0900c9c0b31d0">XIOModule::IsReady</a>.</p>

<p class="reference">Referenced by <a class="el" href="xiomodule__intr__example_8c.html#a86fc21e1458de7ebff30e9a959ecd773">IOModuleDisableIntr()</a>.</p>

</div>
</div>
<a id="ga241c2c08f867ee4d03e96248c4a133da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga241c2c08f867ee4d03e96248c4a133da">&#9670;&nbsp;</a></span>XIOModule_Disconnect()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIOModule_Disconnect </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>Id</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8c.html">xiomodule.c</a>&gt;</code></p>

<p>Updates the interrupt table with the Null Handler and NULL arguments at the location pointed at by the Id. </p>
<p>This effectively disconnects that interrupt source from any handler. The interrupt is disabled also.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance to be worked on. </td></tr>
    <tr><td class="paramname">Id</td><td>contains the ID of the interrupt source and should be in the range of 0 to XPAR_IOMODULE_INTC_MAX_INTR_SIZE - 1 with 0 being the highest priority interrupt.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_i_o_module.html#a0cee7cfb4687662370f0900c9c0b31d0">XIOModule::IsReady</a>.</p>

</div>
</div>
<a id="gaf518b504d005044d00b5b9b1e6cd7b33"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf518b504d005044d00b5b9b1e6cd7b33">&#9670;&nbsp;</a></span>XIOModule_DiscreteClear()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIOModule_DiscreteClear </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>Channel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Mask</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8h.html">xiomodule.h</a>&gt;</code></p>

<p>Set output discrete(s) to logic 0 for the specified GPO channel. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to an <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance to be worked on. </td></tr>
    <tr><td class="paramname">Channel</td><td>contains the channel of the GPIO (1, 2, 3 or 4) to operate on. </td></tr>
    <tr><td class="paramname">Mask</td><td>is the set of bits that will be set to 0 in the discrete data register. All other bits in the data register are unaffected.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_i_o_module.html#a0cee7cfb4687662370f0900c9c0b31d0">XIOModule::IsReady</a>.</p>

</div>
</div>
<a id="ga9f2d50c168791e08aaf44d16ca5b26a9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9f2d50c168791e08aaf44d16ca5b26a9">&#9670;&nbsp;</a></span>XIOModule_DiscreteRead()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XIOModule_DiscreteRead </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>Channel</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8c.html">xiomodule.c</a>&gt;</code></p>

<p>Read state of discretes for the specified GPI channnel. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to an <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance to be worked on. </td></tr>
    <tr><td class="paramname">Channel</td><td>contains the channel of the GPI (1, 2, 3 or 4) to operate on.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Current copy of the discretes register. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_i_o_module.html#a3835c68413c43911f73971744614d2f9">XIOModule::BaseAddress</a>, <a class="el" href="struct_x_i_o_module.html#a0cee7cfb4687662370f0900c9c0b31d0">XIOModule::IsReady</a>, <a class="el" href="group__iomodule__v2__2.html#ga9569489084c770e95974e4592e425b66">XGPI_CHAN_OFFSET</a>, <a class="el" href="group__iomodule__v2__2.html#gafb21e053e2c12734dfadd0affbbbc313">XGPI_DEVICE_COUNT</a>, and <a class="el" href="group__iomodule__v2__2.html#ga4eaff234e65f369a870fca3b92215df4">XIOModule_ReadReg</a>.</p>

</div>
</div>
<a id="gae7a0598ebcbf832927168c532c82c469"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae7a0598ebcbf832927168c532c82c469">&#9670;&nbsp;</a></span>XIOModule_DiscreteSet()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIOModule_DiscreteSet </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>Channel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Mask</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8h.html">xiomodule.h</a>&gt;</code></p>

<p>Set output discrete(s) to logic 1 for the specified GPO channel. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to an <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance to be worked on. </td></tr>
    <tr><td class="paramname">Channel</td><td>contains the channel of the GPIO (1, 2, 3 or 4) to operate on. </td></tr>
    <tr><td class="paramname">Mask</td><td>is the set of bits that will be set to 1 in the discrete data register. All other bits in the data register are unaffected.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_i_o_module.html#a0cee7cfb4687662370f0900c9c0b31d0">XIOModule::IsReady</a>.</p>

</div>
</div>
<a id="gaac4051b21a264e8a6ffa80581af54108"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaac4051b21a264e8a6ffa80581af54108">&#9670;&nbsp;</a></span>XIOModule_DiscreteWrite()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIOModule_DiscreteWrite </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>Channel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8c.html">xiomodule.c</a>&gt;</code></p>

<p>Write to discretes register for the specified GPO channel. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to an <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance to be worked on. </td></tr>
    <tr><td class="paramname">Channel</td><td>contains the channel of the GPO (1, 2, 3 or 4) to operate on. </td></tr>
    <tr><td class="paramname">Data</td><td>is the value to be written to the discretes register.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_i_o_module.html#a0cee7cfb4687662370f0900c9c0b31d0">XIOModule::IsReady</a>.</p>

</div>
</div>
<a id="ga0c2fe0ab1367af43b603cd896e306737"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0c2fe0ab1367af43b603cd896e306737">&#9670;&nbsp;</a></span>XIOModule_Enable()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIOModule_Enable </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>Id</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8c.html">xiomodule.c</a>&gt;</code></p>

<p>Enables the interrupt source provided as the argument Id. </p>
<p>Any pending interrupt condition for the specified Id will occur after this function is called.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance to be worked on. </td></tr>
    <tr><td class="paramname">Id</td><td>contains the ID of the interrupt source and should be in the range of 0 to XPAR_IOMODULE_INTC_MAX_INTR_SIZE - 1 with 0 being the highest priority interrupt.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_i_o_module.html#a0cee7cfb4687662370f0900c9c0b31d0">XIOModule::IsReady</a>.</p>

</div>
</div>
<a id="gaf4281a3f3f5e5620d4e78dc904ab04cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf4281a3f3f5e5620d4e78dc904ab04cf">&#9670;&nbsp;</a></span>XIOModule_GetCaptureValue()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XIOModule_GetCaptureValue </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>TimerNumber</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8c.html">xiomodule.c</a>&gt;</code></p>

<p>Returns the timer counter value that was captured the last time the external capture input was asserted. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance. </td></tr>
    <tr><td class="paramname">TimerNumber</td><td>is the timer counter of the device to operate on. Each device may contain multiple timer counters. The timer number is a zero based number with a range of 0 to (XTC_DEVICE_TIMER_COUNT - 1).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The current capture value for the indicated timer counter.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_i_o_module.html#a7cad21513e163c951f47dcc9b4b4a64f">XIOModule::CurrentTLR</a>, <a class="el" href="struct_x_i_o_module.html#a0cee7cfb4687662370f0900c9c0b31d0">XIOModule::IsReady</a>, and <a class="el" href="group__iomodule__v2__2.html#gaba99b973ef1f13bf0a2716cf52ca5319">XTC_DEVICE_TIMER_COUNT</a>.</p>

</div>
</div>
<a id="gab24288979ff867f5e8f98372bddda874"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab24288979ff867f5e8f98372bddda874">&#9670;&nbsp;</a></span>XIOModule_GetOptions()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XIOModule_GetOptions </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8h.html">xiomodule.h</a>&gt;</code></p>

<p>Return the currently set options. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance to be worked on.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The currently set options. The options are described in <a class="el" href="xiomodule_8h.html">xiomodule.h</a>.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_i_o_module.html#ad44f07ede4a771acec5e5ae601868957">XIOModule::CfgPtr</a>, <a class="el" href="struct_x_i_o_module.html#a0cee7cfb4687662370f0900c9c0b31d0">XIOModule::IsReady</a>, and <a class="el" href="struct_x_i_o_module___config.html#af918e849ecf4c42ea56df244bde6f7e6">XIOModule_Config::Options</a>.</p>

</div>
</div>
<a id="ga42ada8bd0fb0d16976254c228a8924a2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga42ada8bd0fb0d16976254c228a8924a2">&#9670;&nbsp;</a></span>XIOModule_GetStats()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIOModule_GetStats </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module___uart___stats.html">XIOModule_Uart_Stats</a> *&#160;</td>
          <td class="paramname"><em>StatsPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8h.html">xiomodule.h</a>&gt;</code></p>

<p>Returns a snapshot of the current statistics in the structure specified. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance. </td></tr>
    <tr><td class="paramname">StatsPtr</td><td>is a pointer to a <a class="el" href="struct_x_i_o_module___uart___stats.html" title="Statistics for the UART. ">XIOModule_Uart_Stats</a> structure to where the statistics are to be copied.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_i_o_module___uart___stats.html#a6007db24145bcd77eea843689a894999">XIOModule_Uart_Stats::CharactersReceived</a>, <a class="el" href="struct_x_i_o_module___uart___stats.html#a0e5ff03c225123a482235e43ba8b60f0">XIOModule_Uart_Stats::CharactersTransmitted</a>, <a class="el" href="struct_x_i_o_module.html#a0cee7cfb4687662370f0900c9c0b31d0">XIOModule::IsReady</a>, <a class="el" href="struct_x_i_o_module___uart___stats.html#af4fe5a6370521fcd8eb7cad5644f84a1">XIOModule_Uart_Stats::ReceiveFramingErrors</a>, <a class="el" href="struct_x_i_o_module___uart___stats.html#a129217276becb44353a60f4d4dafb1c7">XIOModule_Uart_Stats::ReceiveInterrupts</a>, <a class="el" href="struct_x_i_o_module___uart___stats.html#a8c4abe366c5215270523d5df0d9e1b71">XIOModule_Uart_Stats::ReceiveOverrunErrors</a>, <a class="el" href="struct_x_i_o_module___uart___stats.html#a8c46d3426903c6709de209550b6286c3">XIOModule_Uart_Stats::ReceiveParityErrors</a>, <a class="el" href="struct_x_i_o_module___uart___stats.html#ad2939bb3e9f8fc089a2b0168425b4369">XIOModule_Uart_Stats::TransmitInterrupts</a>, and <a class="el" href="struct_x_i_o_module.html#a012d912c3ca44ef12ff3e9877950912d">XIOModule::Uart_Stats</a>.</p>

</div>
</div>
<a id="ga826357a58aeda0b2d1bfc42efd6bb94c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga826357a58aeda0b2d1bfc42efd6bb94c">&#9670;&nbsp;</a></span>XIOModule_GetValue()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XIOModule_GetValue </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>TimerNumber</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8c.html">xiomodule.c</a>&gt;</code></p>

<p>Get the current value of the specified timer counter. </p>
<p>The timer counter may be either incrementing or decrementing based upon the current mode of operation.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance. </td></tr>
    <tr><td class="paramname">TimerNumber</td><td>is the timer counter of the device to operate on. Each device may contain multiple timer counters. The timer number is a zero based number with a range of 0 to (XTC_DEVICE_TIMER_COUNT - 1).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The current value for the timer counter.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">Referenced by <a class="el" href="group__iomodule__v2__2.html#ga47eeba74f17b3a38bb1f6d43d76453d6">XIOModule_Timer_SelfTest()</a>.</p>

</div>
</div>
<a id="ga67914ab7abde581aa2214b997923938d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga67914ab7abde581aa2214b997923938d">&#9670;&nbsp;</a></span>XIOModule_Initialize()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XIOModule_Initialize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u16&#160;</td>
          <td class="paramname"><em>DeviceId</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8c.html">xiomodule.c</a>&gt;</code></p>

<p>Initialize a specific interrupt controller instance/driver. </p>
<p>The initialization entails: </p><pre class="fragment">  - Initialize fields of the XIOModule structure
  - Initial vector table with stub function calls
  - All interrupt sources are disabled
  - Interrupt output is disabled
  - All timers are initialized
</pre><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance to be worked on. </td></tr>
    <tr><td class="paramname">DeviceId</td><td>is the unique id of the device controlled by this <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance. Passing in a device id associates the generic <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance to a specific device, as chosen by the caller or application developer.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if initialization was successful</li>
<li>XST_DEVICE_IS_STARTED if the device has already been started</li>
<li>XST_DEVICE_NOT_FOUND if device configuration information was not found for a device with the supplied device ID.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_i_o_module.html#ad44f07ede4a771acec5e5ae601868957">XIOModule::CfgPtr</a>, <a class="el" href="struct_x_i_o_module.html#a0cee7cfb4687662370f0900c9c0b31d0">XIOModule::IsReady</a>, <a class="el" href="struct_x_i_o_module.html#abf03d83df86afa14879087ed5f792d9d">XIOModule::IsStarted</a>, <a class="el" href="struct_x_i_o_module___config.html#af918e849ecf4c42ea56df244bde6f7e6">XIOModule_Config::Options</a>, <a class="el" href="group__iomodule__v2__2.html#gaf4bce8e2035f391b702686e49c66c839">XIN_SVC_SGL_ISR_OPTION</a>, and <a class="el" href="group__iomodule__v2__2.html#ga367989ec098fe548ba62b58640490ec7">XIOModule_LookupConfig()</a>.</p>

<p class="reference">Referenced by <a class="el" href="xiomodule__example_8c.html#a45629b072206c0e732e7b8f3fec42112">IOModuleExample()</a>, <a class="el" href="xiomodule__intr__example_8c.html#a236881c9f534439dd82b030f163d4490">IOModuleInterruptSetup()</a>, <a class="el" href="xiomodule__intr__example_8c.html#a00da2c7ac8af84d3cc05ce7f41ad91a6">IOModuleIntrExample()</a>, and <a class="el" href="xiomodule__selftest__example_8c.html#a2257c4e318cd4d8fc7dd42cbdd607025">IOModuleSelfTestExample()</a>.</p>

</div>
</div>
<a id="gaadbc5225c2c104a1a09d226e6daf3497"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaadbc5225c2c104a1a09d226e6daf3497">&#9670;&nbsp;</a></span>XIOModule_Intc_SelfTest()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XIOModule_Intc_SelfTest </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__selftest_8c.html">xiomodule_selftest.c</a>&gt;</code></p>

<p>Run a self-test on the interrupt controller driver/device. </p>
<p>This is a destructive test.</p>
<p>This involves forcing interrupts into the controller (if possible, given the IO Module configuration) and verifying that they are recognized and can be acknowledged.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance to be worked on.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if self-test is successful.</li>
<li>XST_INTC_FAIL_SELFTEST if the Interrupt controller fails the self-test. It will fail the self test if the device has previously been started in real mode.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_i_o_module.html#a0cee7cfb4687662370f0900c9c0b31d0">XIOModule::IsReady</a>.</p>

</div>
</div>
<a id="ga848da9f83ad1188caca777cd324cec10"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga848da9f83ad1188caca777cd324cec10">&#9670;&nbsp;</a></span>XIOModule_InterruptHandler()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIOModule_InterruptHandler </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8h.html">xiomodule.h</a>&gt;</code></p>

<p>Interrupt handler for the driver used when there can be no argument passed to the handler. </p>
<p>This function is provided mostly for backward compatibility. The user should use <a class="el" href="group__iomodule__v2__2.html#ga2e47bfda481c3ceab60d758f049758ef" title="This is the interrupt handler for the driver interface provided in this file when there can be no arg...">XIOModule_DeviceInterruptHandler()</a>, defined in <a class="el" href="xiomodule__l_8c.html">xiomodule_l.c</a>, if possible.</p>
<p>The user must connect this function to the interrupt system such that it is called whenever the devices which are connected to it cause an interrupt.</p>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd></dd></dl>
<p>The constant XPAR_IOMODULE_SINGLE_DEVICE_ID must be defined for this handler to be included in the driver compilation.</p>
<p>The interrupt handler for the driver. This function is provided mostly for backward compatibility. The user should use <a class="el" href="group__iomodule__v2__2.html#ga2e47bfda481c3ceab60d758f049758ef" title="This is the interrupt handler for the driver interface provided in this file when there can be no arg...">XIOModule_DeviceInterruptHandler()</a>, defined in <a class="el" href="xiomodule__l_8c.html">xiomodule_l.c</a> when possible and pass the device ID of the interrupt controller device as its argument.</p>
<p>The user must connect this function to the interrupt system such that it is called whenever the devices which are connected to it cause an interrupt.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance to be worked on.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_i_o_module.html#ad44f07ede4a771acec5e5ae601868957">XIOModule::CfgPtr</a>, <a class="el" href="struct_x_i_o_module___config.html#a810c8e527dc561b0591c40ee8da5e8d5">XIOModule_Config::DeviceId</a>, and <a class="el" href="group__iomodule__v2__2.html#ga2e47bfda481c3ceab60d758f049758ef">XIOModule_DeviceInterruptHandler()</a>.</p>

</div>
</div>
<a id="gab5ec0ed139e0e9629ec1b542dfec3989"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab5ec0ed139e0e9629ec1b542dfec3989">&#9670;&nbsp;</a></span>XIOModule_IoReadByte()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u8 XIOModule_IoReadByte </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>ByteOffset</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8c.html">xiomodule.c</a>&gt;</code></p>

<p>Read byte from the IO Bus memory mapped IO. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to an <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance to be worked on. </td></tr>
    <tr><td class="paramname">ByteOffset</td><td>is a byte offset from the beginning of the IO Bus address area</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Value read from the IO Bus - 8-bit byte </dd></dl>

<p class="reference">References <a class="el" href="struct_x_i_o_module.html#a0cee7cfb4687662370f0900c9c0b31d0">XIOModule::IsReady</a>.</p>

</div>
</div>
<a id="ga7ff8a4fabcb27bc42957503761602439"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7ff8a4fabcb27bc42957503761602439">&#9670;&nbsp;</a></span>XIOModule_IoReadHalfword()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u16 XIOModule_IoReadHalfword </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>ByteOffset</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8c.html">xiomodule.c</a>&gt;</code></p>

<p>Read 16-bit halfword from the IO Bus memory mapped IO. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to an <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance to be worked on. </td></tr>
    <tr><td class="paramname">ByteOffset</td><td>is a byte offset from the beginning of the IO Bus address area</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Value read from the IO Bus - 16-bit halfword </dd></dl>

<p class="reference">References <a class="el" href="struct_x_i_o_module.html#a0cee7cfb4687662370f0900c9c0b31d0">XIOModule::IsReady</a>.</p>

</div>
</div>
<a id="ga9939789b5819d1561bebc0eacac28b84"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9939789b5819d1561bebc0eacac28b84">&#9670;&nbsp;</a></span>XIOModule_IoReadWord()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XIOModule_IoReadWord </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>ByteOffset</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8c.html">xiomodule.c</a>&gt;</code></p>

<p>Read 32-bit word from the IO Bus memory mapped IO. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to an <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance to be worked on. </td></tr>
    <tr><td class="paramname">ByteOffset</td><td>is a byte offset from the beginning of the IO Bus address area</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Value read from the IO Bus - 32-bit word </dd></dl>

<p class="reference">References <a class="el" href="struct_x_i_o_module.html#a0cee7cfb4687662370f0900c9c0b31d0">XIOModule::IsReady</a>.</p>

</div>
</div>
<a id="gaae3b81b7f7e0ebf69c951b2fcf438e85"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaae3b81b7f7e0ebf69c951b2fcf438e85">&#9670;&nbsp;</a></span>XIOModule_IoWriteByte()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIOModule_IoWriteByte </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>ByteOffset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>Data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8c.html">xiomodule.c</a>&gt;</code></p>

<p>Write 8-bit word to the IO Bus memory mapped IO. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to an <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance to be worked on. </td></tr>
    <tr><td class="paramname">ByteOffset</td><td>is a byte offset from the beginning of the IO Bus address area </td></tr>
    <tr><td class="paramname">Data</td><td>is the value to be written to the IO Bus - 8-bit</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_i_o_module.html#a0cee7cfb4687662370f0900c9c0b31d0">XIOModule::IsReady</a>.</p>

</div>
</div>
<a id="ga3c9d9b8fc1d9accc3502b24db3770664"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3c9d9b8fc1d9accc3502b24db3770664">&#9670;&nbsp;</a></span>XIOModule_IoWriteHalfword()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIOModule_IoWriteHalfword </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>ByteOffset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u16&#160;</td>
          <td class="paramname"><em>Data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8c.html">xiomodule.c</a>&gt;</code></p>

<p>Write 16-bit word to the IO Bus memory mapped IO. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to an <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance to be worked on. </td></tr>
    <tr><td class="paramname">ByteOffset</td><td>is a byte offset from the beginning of the IO Bus address area </td></tr>
    <tr><td class="paramname">Data</td><td>is the value to be written to the IO Bus - 16-bit</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_i_o_module.html#a0cee7cfb4687662370f0900c9c0b31d0">XIOModule::IsReady</a>.</p>

</div>
</div>
<a id="gaf20cdadbf9d5197fd91076a76b7049f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf20cdadbf9d5197fd91076a76b7049f8">&#9670;&nbsp;</a></span>XIOModule_IoWriteWord()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIOModule_IoWriteWord </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>ByteOffset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8c.html">xiomodule.c</a>&gt;</code></p>

<p>Write 32-bit word to the IO Bus memory mapped IO. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to an <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance to be worked on. </td></tr>
    <tr><td class="paramname">ByteOffset</td><td>is a byte offset from the beginning of the IO Bus address area </td></tr>
    <tr><td class="paramname">Data</td><td>is the value to be written to the IO Bus - 32-bit</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_i_o_module.html#a0cee7cfb4687662370f0900c9c0b31d0">XIOModule::IsReady</a>.</p>

</div>
</div>
<a id="ga65c77543ddff932f4b07da1100af984f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga65c77543ddff932f4b07da1100af984f">&#9670;&nbsp;</a></span>XIOModule_IsExpired()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XIOModule_IsExpired </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>TimerNumber</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8c.html">xiomodule.c</a>&gt;</code></p>

<p>Checks if the specified timer counter of the device has expired. </p>
<p>In capture mode, expired is defined as a capture occurred. In compare mode, expired is defined as the timer counter rolled over/under for up/down counting.</p>
<p>When interrupts are enabled, the expiration causes an interrupt. This function is typically used to poll a timer counter to determine when it has expired.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance. </td></tr>
    <tr><td class="paramname">TimerNumber</td><td>is the timer counter of the device to operate on. Each device may contain multiple timer counters. The timer number is a zero based number with a range of 0 to (XTC_DEVICE_TIMER_COUNT - 1).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE if the timer has expired, and FALSE otherwise.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">Referenced by <a class="el" href="xiomodule__intr__example_8c.html#a3aa1ae68bdc720a276454934186b78ab">IOModuleHandler()</a>.</p>

</div>
</div>
<a id="gaa582b33e2d93e0f0072b3235ed6fb741"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa582b33e2d93e0f0072b3235ed6fb741">&#9670;&nbsp;</a></span>XIOModule_IsSending()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XIOModule_IsSending </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8h.html">xiomodule.h</a>&gt;</code></p>

<p>This function determines if the specified UART is sending data. </p>
<p>If the transmitter register is not empty, it is sending data.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A value of TRUE if the UART is sending data, otherwise FALSE.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_i_o_module.html#a3835c68413c43911f73971744614d2f9">XIOModule::BaseAddress</a>, <a class="el" href="group__iomodule__v2__2.html#ga4eaff234e65f369a870fca3b92215df4">XIOModule_ReadReg</a>, <a class="el" href="group__iomodule__v2__2.html#ga76bf6a9a14882e45364a21693be7e920">XUL_SR_TX_FIFO_FULL</a>, and <a class="el" href="group__iomodule__v2__2.html#ga13cc5a4dd0ee4939136579f2e8dc9ce5">XUL_STATUS_REG_OFFSET</a>.</p>

</div>
</div>
<a id="ga367989ec098fe548ba62b58640490ec7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga367989ec098fe548ba62b58640490ec7">&#9670;&nbsp;</a></span>XIOModule_LookupConfig()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_x_i_o_module___config.html">XIOModule_Config</a> * XIOModule_LookupConfig </td>
          <td>(</td>
          <td class="paramtype">u16&#160;</td>
          <td class="paramname"><em>DeviceId</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8c.html">xiomodule.c</a>&gt;</code></p>

<p>Looks up the device configuration based on the unique device ID. </p>
<p>A table contains the configuration info for each device in the system.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">DeviceId</td><td>is the unique identifier for a device.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> configuration structure for the specified device, or NULL if the device was not found.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="group__iomodule__v2__2.html#gafab2167a879586e6baa45e8706ed6a6a">XIOModule_ConfigTable</a>.</p>

<p class="reference">Referenced by <a class="el" href="group__iomodule__v2__2.html#ga67914ab7abde581aa2214b997923938d">XIOModule_Initialize()</a>, and <a class="el" href="group__iomodule__v2__2.html#gad0dad0abc10925039a42855110f8256f">XIOModule_Timer_Initialize()</a>.</p>

</div>
</div>
<a id="ga70b12729029fff571ad8915dc30897d6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga70b12729029fff571ad8915dc30897d6">&#9670;&nbsp;</a></span>XIOModule_ReceiveBuffer()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int XIOModule_ReceiveBuffer </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__i_8h.html">xiomodule_i.h</a>&gt;</code></p>

<p>This function receives a buffer that has been previously specified by setting up the instance variables of the instance. </p>
<p>This function is designed to be an internal function for the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> component such that it may be called from a shell function that sets up the buffer or from an interrupt handler.</p>
<p>This function will attempt to receive a specified number of bytes of data from the UART and store it into the specified buffer. This function is designed for either polled or interrupt driven modes. It is non-blocking such that it will return if there is no data has already received by the UART.</p>
<p>In a polled mode, this function will only receive as much data as the UART can buffer, either in the receiver or in the FIFO if present and enabled. The application may need to call it repeatedly to receive a buffer. Polled mode is the default mode of operation for the driver.</p>
<p>In interrupt mode, this function will start receiving and then the interrupt handler of the driver will continue until the buffer has been received. A callback function, as specified by the application, will be called to indicate the completion of receiving the buffer or when any receive errors or timeouts occur.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The number of bytes received.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_i_o_module.html#a3835c68413c43911f73971744614d2f9">XIOModule::BaseAddress</a>, <a class="el" href="struct_x_i_o_module.html#a9779459fb73d4db975bdf4d112d63408">XIOModule::ReceiveBuffer</a>, <a class="el" href="group__iomodule__v2__2.html#ga313c2576e159fd472cb0b25b7a395837">XIOModule_GetStatusReg</a>, <a class="el" href="group__iomodule__v2__2.html#ga4eaff234e65f369a870fca3b92215df4">XIOModule_ReadReg</a>, <a class="el" href="group__iomodule__v2__2.html#gad3154a9fc1e2fd70c0cc37772e15b907">XUL_RX_OFFSET</a>, and <a class="el" href="group__iomodule__v2__2.html#ga7a1722c4c799b50641831e1d092d9893">XUL_SR_RX_FIFO_VALID_DATA</a>.</p>

</div>
</div>
<a id="gae9e27102d95385e1557fd488da7b2936"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae9e27102d95385e1557fd488da7b2936">&#9670;&nbsp;</a></span>XIOModule_Recv()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int XIOModule_Recv </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>DataBufferPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>NumBytes</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8h.html">xiomodule.h</a>&gt;</code></p>

<p>This function will attempt to receive a specified number of bytes of data from the UART and store it into the specified buffer. </p>
<p>This function is designed for either polled or interrupt driven modes. It is non-blocking such that it will return if no data has already received by the UART.</p>
<p>In a polled mode, this function will only receive as much data as the UART can buffer in the receiver. The application may need to call it repeatedly to receive a buffer. Polled mode is the default mode of operation for the driver.</p>
<p>In interrupt mode, this function will start receiving and then the interrupt handler of the driver will continue receiving data until the buffer has been received. A callback function, as specified by the application, will be called to indicate the completion of receiving the buffer or when any receive errors or timeouts occur.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance. </td></tr>
    <tr><td class="paramname">DataBufferPtr</td><td>is pointer to buffer for data to be received into. </td></tr>
    <tr><td class="paramname">NumBytes</td><td>is the number of bytes to be received. A value of zero will stop a previous receive operation that is in progress in interrupt mode.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The number of bytes received.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>The number of bytes is not asserted so that this function may be called with a value of zero to stop an operation that is already in progress. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_i_o_module.html#aa587d9b5ceed79935fa1c5cf842531d8">XIOModule::CurrentIER</a>, and <a class="el" href="struct_x_i_o_module.html#a0cee7cfb4687662370f0900c9c0b31d0">XIOModule::IsReady</a>.</p>

</div>
</div>
<a id="gaf1784b245813307028ba028246e39606"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf1784b245813307028ba028246e39606">&#9670;&nbsp;</a></span>XIOModule_RecvByte()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u8 XIOModule_RecvByte </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>BaseAddress</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8c.html">xiomodule_l.c</a>&gt;</code></p>

<p>This functions receives a single byte using the UART. </p>
<p>It is blocking in that it waits for the receiver to become non-empty before it reads from the receive register.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>is the base address of the device</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The byte of data received.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="group__iomodule__v2__2.html#gad9c5e48a02c0aba03cb1d8d7583b37f6">XIOModule_IsReceiveEmpty</a>.</p>

</div>
</div>
<a id="ga3985a47858bc59f526d475536811a393"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3985a47858bc59f526d475536811a393">&#9670;&nbsp;</a></span>XIOModule_RegisterHandler()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIOModule_RegisterHandler </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>BaseAddress</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>InterruptId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XInterruptHandler&#160;</td>
          <td class="paramname"><em>Handler</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>CallBackRef</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8c.html">xiomodule_l.c</a>&gt;</code></p>

<p>Register a handler function for a specific interrupt ID. </p>
<p>The vector table of the interrupt controller is updated, overwriting any previous handler. The handler function will be called when an interrupt occurs for the given interrupt ID.</p>
<p>This function can also be used to remove a handler from the vector table by passing in the XIOModule_DefaultHandler() as the handler and NULL as the callback reference.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>is the base address of the interrupt controller whose vector table will be modified. </td></tr>
    <tr><td class="paramname">InterruptId</td><td>is the interrupt ID to be associated with the input handler. </td></tr>
    <tr><td class="paramname">Handler</td><td>is the function pointer that will be added to the vector table for the given interrupt ID. It adheres to the XInterruptHandler signature found in xbasic_types.h. </td></tr>
    <tr><td class="paramname">CallBackRef</td><td>is the argument that will be passed to the new handler function when it is called. This is user-specific.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Only used with normal interrupt mode. Does not restore normal interrupt mode.</dd></dl>
<p>Note that this function has no effect if the input base address is invalid. </p>

<p class="reference">Referenced by <a class="el" href="xiomodule__low__level__example_8c.html#a5f633edf662a9a5739da85d4b21a5c5c">IOModuleLowLevelExample()</a>.</p>

</div>
</div>
<a id="gae5d1cb85ee2100003b7e2dcc160c47c0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae5d1cb85ee2100003b7e2dcc160c47c0">&#9670;&nbsp;</a></span>XIOModule_Reset()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIOModule_Reset </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>TimerNumber</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8c.html">xiomodule.c</a>&gt;</code></p>

<p>Resets the specified timer counter of the device. </p>
<p>A reset causes the timer counter to set it's value to the reset value.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance. </td></tr>
    <tr><td class="paramname">TimerNumber</td><td>is the timer counter of the device to operate on. Each device may contain multiple timer counters. The timer number is a zero based number with a range of 0 to (XTC_DEVICE_TIMER_COUNT - 1).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

</div>
</div>
<a id="gadabb5f2e09817afb284173f31f3d7265"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gadabb5f2e09817afb284173f31f3d7265">&#9670;&nbsp;</a></span>XIOModule_ResetFifos()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIOModule_ResetFifos </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8h.html">xiomodule.h</a>&gt;</code></p>

<p>This function does nothing, since the UART doesn't have any FIFOs. </p>
<p>It is included for compatibility with the UART Lite driver.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance .</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_i_o_module.html#a0cee7cfb4687662370f0900c9c0b31d0">XIOModule::IsReady</a>.</p>

</div>
</div>
<a id="ga6db3efbd9634e6f58b9fb6a67f82b8c2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6db3efbd9634e6f58b9fb6a67f82b8c2">&#9670;&nbsp;</a></span>XIOModule_Send()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int XIOModule_Send </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>DataBufferPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>NumBytes</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8h.html">xiomodule.h</a>&gt;</code></p>

<p>This functions sends the specified buffer of data using the UART in either polled or interrupt driven modes. </p>
<p>This function is non-blocking such that it will return before the data has been sent by the UART. If the UART is busy sending data, it will return and indicate zero bytes were sent.</p>
<p>In a polled mode, this function will only send as much data as the UART can buffer in the transmitter. The application may need to call it repeatedly to send a buffer.</p>
<p>In interrupt mode, this function will start sending the specified buffer and then the interrupt handler of the driver will continue sending data until the buffer has been sent. A callback function, as specified by the application, will be called to indicate the completion of sending the buffer.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance. </td></tr>
    <tr><td class="paramname">DataBufferPtr</td><td>is pointer to a buffer of data to be sent. </td></tr>
    <tr><td class="paramname">NumBytes</td><td>contains the number of bytes to be sent. A value of zero will stop a previous send operation that is in progress in interrupt mode. Any data that was already put into the transmit FIFO will be sent.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The number of bytes actually sent.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>The number of bytes is not asserted so that this function may be called with a value of zero to stop an operation that is already in progress. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_i_o_module.html#aa587d9b5ceed79935fa1c5cf842531d8">XIOModule::CurrentIER</a>, and <a class="el" href="struct_x_i_o_module.html#a0cee7cfb4687662370f0900c9c0b31d0">XIOModule::IsReady</a>.</p>

</div>
</div>
<a id="ga1fc16de9c0cbaad1d3022d19a0d883cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1fc16de9c0cbaad1d3022d19a0d883cd">&#9670;&nbsp;</a></span>XIOModule_SendBuffer()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int XIOModule_SendBuffer </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__i_8h.html">xiomodule_i.h</a>&gt;</code></p>

<p>This function sends a buffer that has been previously specified by setting up the instance variables of the instance. </p>
<p>This function is designed to be an internal function for the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> component such that it may be called from a shell function that sets up the buffer or from an interrupt handler.</p>
<p>This function sends the specified buffer of data to the UART in either polled or interrupt driven modes. This function is non-blocking such that it will return before the data has been sent by the UART.</p>
<p>In a polled mode, this function will only send as much data as the UART can buffer in the transmitter. The application may need to call it repeatedly to send a buffer.</p>
<p>In interrupt mode, this function will start sending the specified buffer and then the interrupt handler of the driver will continue until the buffer has been sent. A callback function, as specified by the application, will be called to indicate the completion of sending the buffer.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>NumBytes is the number of bytes actually sent (put into the UART transmitter and/or FIFO).</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_i_o_module.html#a3835c68413c43911f73971744614d2f9">XIOModule::BaseAddress</a>, and <a class="el" href="group__iomodule__v2__2.html#ga313c2576e159fd472cb0b25b7a395837">XIOModule_GetStatusReg</a>.</p>

</div>
</div>
<a id="ga77e0649e78c817c27b628b6713c12451"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga77e0649e78c817c27b628b6713c12451">&#9670;&nbsp;</a></span>XIOModule_SendByte()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIOModule_SendByte </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>BaseAddress</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>Data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8c.html">xiomodule_l.c</a>&gt;</code></p>

<p>This functions sends a single byte using the UART. </p>
<p>It is blocking in that it waits for the transmitter to become non-full before it writes the byte to the transmit register.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>is the base address of the device </td></tr>
    <tr><td class="paramname">Data</td><td>is the byte of data to send</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="group__iomodule__v2__2.html#ga93c23372164e627f79da9488ea43161a">XIOModule_IsTransmitFull</a>.</p>

</div>
</div>
<a id="gab2e5ac3f9e5a286fd376120cb27f545d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab2e5ac3f9e5a286fd376120cb27f545d">&#9670;&nbsp;</a></span>XIOModule_SetHandler()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIOModule_SetHandler </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__iomodule__v2__2.html#ga277788a18dc4e9d594730c330da34bec">XIOModule_Timer_Handler</a>&#160;</td>
          <td class="paramname"><em>FuncPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>CallBackRef</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8h.html">xiomodule.h</a>&gt;</code></p>

<p>Sets the timer callback function, which the driver calls when the specified timer times out. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance. </td></tr>
    <tr><td class="paramname">CallBackRef</td><td>is the upper layer callback reference passed back when the callback function is invoked. </td></tr>
    <tr><td class="paramname">FuncPtr</td><td>is the pointer to the callback function.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd></dd></dl>
<p>The handler is called within interrupt context so the function that is called should either be short or pass the more extensive processing off to another task to allow the interrupt to return and normal processing to continue.</p>
<p>This function is provided for compatibility, and only allows setting a single handler for all Programmable Interval Timers. </p>

<p class="reference">References <a class="el" href="struct_x_i_o_module.html#a8b9fe4734807b32893f78a90e8c6a9de">XIOModule::CallBackRef</a>, <a class="el" href="struct_x_i_o_module.html#aab92470605904d886037b7dc51b87dec">XIOModule::Handler</a>, and <a class="el" href="struct_x_i_o_module.html#a0cee7cfb4687662370f0900c9c0b31d0">XIOModule::IsReady</a>.</p>

</div>
</div>
<a id="gaaf27e1820d586ec1c487078d03854944"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaaf27e1820d586ec1c487078d03854944">&#9670;&nbsp;</a></span>XIOModule_SetIntrSvcOption()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIOModule_SetIntrSvcOption </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>BaseAddress</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Option</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__l_8c.html">xiomodule_l.c</a>&gt;</code></p>

<p>Set the interrupt service option, which can configure the driver so that it services only a single interrupt at a time when an interrupt occurs, or services all pending interrupts when an interrupt occurs. </p>
<p>The default behavior when using the driver interface given in xintc.h file is to service only a single interrupt, whereas the default behavior when using the driver interface given in this file is to service all outstanding interrupts when an interrupt occurs.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>is the unique identifier for a device. </td></tr>
    <tr><td class="paramname">Option</td><td>is XIN_SVC_SGL_ISR_OPTION if you want only a single interrupt serviced when an interrupt occurs, or XIN_SVC_ALL_ISRS_OPTION if you want all pending interrupts serviced when an interrupt occurs.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd></dd></dl>
<p>Note that this function has no effect if the input base address is invalid. </p>

</div>
</div>
<a id="gab4ddcaf38d655ca70d916c1d5ba96240"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab4ddcaf38d655ca70d916c1d5ba96240">&#9670;&nbsp;</a></span>XIOModule_SetNormalIntrMode()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIOModule_SetNormalIntrMode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>Id</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8c.html">xiomodule.c</a>&gt;</code></p>

<p>Sets the normal interrupt mode for the specified interrupt in the Interrupt Mode Register, by resetting the vector to (BaseVector &amp; 0xFFFFFF80) | 0x10 and selecting normal mode. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance. </td></tr>
    <tr><td class="paramname">Id</td><td>contains the ID of the interrupt source and should be in the range of 0 to XPAR_INTC_MAX_NUM_INTR_INPUTS - 1 with 0 being the highest priority interrupt.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Only used with fast interrupt mode. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_i_o_module.html#ad44f07ede4a771acec5e5ae601868957">XIOModule::CfgPtr</a>, <a class="el" href="struct_x_i_o_module___config.html#aeca1391618560858c7824ad421da3ff7">XIOModule_Config::FastIntr</a>, and <a class="el" href="struct_x_i_o_module.html#a0cee7cfb4687662370f0900c9c0b31d0">XIOModule::IsReady</a>.</p>

</div>
</div>
<a id="ga1c71be14079487aef1623f8427ba39bb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1c71be14079487aef1623f8427ba39bb">&#9670;&nbsp;</a></span>XIOModule_SetOptions()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XIOModule_SetOptions </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Options</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8h.html">xiomodule.h</a>&gt;</code></p>

<p>Set the options for the interrupt controller driver. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance to be worked on. </td></tr>
    <tr><td class="paramname">Options</td><td>to be set. The available options are described in <a class="el" href="xiomodule_8h.html">xiomodule.h</a>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if the options were set successfully</li>
<li>XST_INVALID_PARAM if the specified option was not valid</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_i_o_module.html#a0cee7cfb4687662370f0900c9c0b31d0">XIOModule::IsReady</a>, and <a class="el" href="group__iomodule__v2__2.html#gaf4bce8e2035f391b702686e49c66c839">XIN_SVC_SGL_ISR_OPTION</a>.</p>

</div>
</div>
<a id="ga5ece62521d0d34bd420888ecc876750c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5ece62521d0d34bd420888ecc876750c">&#9670;&nbsp;</a></span>XIOModule_SetRecvHandler()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIOModule_SetRecvHandler </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__iomodule__v2__2.html#gab2ed9b9671c9ee41bbe9b8ea388b7cb7">XIOModule_Handler</a>&#160;</td>
          <td class="paramname"><em>FuncPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>CallBackRef</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8h.html">xiomodule.h</a>&gt;</code></p>

<p>This function sets the handler that will be called when an event (interrupt) occurs in the driver for the UART. </p>
<p>The purpose of the handler is to allow application specific processing to be performed.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance. </td></tr>
    <tr><td class="paramname">FuncPtr</td><td>is the pointer to the callback function. </td></tr>
    <tr><td class="paramname">CallBackRef</td><td>is the upper layer callback reference passed back when the callback function is invoked.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>There is no assert on the CallBackRef since the driver doesn't know what it is (nor should it) </dd></dl>

<p class="reference">References <a class="el" href="struct_x_i_o_module.html#a0cee7cfb4687662370f0900c9c0b31d0">XIOModule::IsReady</a>, <a class="el" href="struct_x_i_o_module.html#aba9945a4a56cd7d80eddfeb72ec0fa3c">XIOModule::RecvCallBackRef</a>, and <a class="el" href="struct_x_i_o_module.html#a7d242c9d237f263e9b895b57c827b728">XIOModule::RecvHandler</a>.</p>

</div>
</div>
<a id="gaf9ed2111d2f53ac88626030d907f374a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf9ed2111d2f53ac88626030d907f374a">&#9670;&nbsp;</a></span>XIOModule_SetResetValue()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIOModule_SetResetValue </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>TimerNumber</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>ResetValue</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8c.html">xiomodule.c</a>&gt;</code></p>

<p>Set the reset value for the specified timer counter. </p>
<p>This is the value that is loaded into the timer counter when it is reset. This value is also loaded when the timer counter is started.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance. </td></tr>
    <tr><td class="paramname">TimerNumber</td><td>is the timer counter of the device to operate on. Each device may contain multiple timer counters. The timer number is a zero based number with a range of 0 to (XTC_DEVICE_TIMER_COUNT - 1). </td></tr>
    <tr><td class="paramname">ResetValue</td><td>contains the value to be used to reset the timer counter.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">Referenced by <a class="el" href="group__iomodule__v2__2.html#ga47eeba74f17b3a38bb1f6d43d76453d6">XIOModule_Timer_SelfTest()</a>.</p>

</div>
</div>
<a id="ga07b376ebf11fee3ff027445eaa096261"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga07b376ebf11fee3ff027445eaa096261">&#9670;&nbsp;</a></span>XIOModule_SetSendHandler()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIOModule_SetSendHandler </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__iomodule__v2__2.html#gab2ed9b9671c9ee41bbe9b8ea388b7cb7">XIOModule_Handler</a>&#160;</td>
          <td class="paramname"><em>FuncPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>CallBackRef</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8h.html">xiomodule.h</a>&gt;</code></p>

<p>This function sets the handler that will be called when an event (interrupt) occurs in the driver for the UART. </p>
<p>The purpose of the handler is to allow application specific processing to be performed.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance . </td></tr>
    <tr><td class="paramname">FuncPtr</td><td>is the pointer to the callback function. </td></tr>
    <tr><td class="paramname">CallBackRef</td><td>is the upper layer callback reference passed back when the callback function is invoked.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>There is no assert on the CallBackRef since the driver doesn't know what it is (nor should it) </dd></dl>

<p class="reference">References <a class="el" href="struct_x_i_o_module.html#a0cee7cfb4687662370f0900c9c0b31d0">XIOModule::IsReady</a>, <a class="el" href="struct_x_i_o_module.html#a1c7dd2691c80c532a0b2624a91c6b615">XIOModule::SendCallBackRef</a>, and <a class="el" href="struct_x_i_o_module.html#a900c8563fc749f2cb97e5c0bbf1c7af7">XIOModule::SendHandler</a>.</p>

</div>
</div>
<a id="ga7e2fb72f58ec51dd632b89a67beb515d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7e2fb72f58ec51dd632b89a67beb515d">&#9670;&nbsp;</a></span>XIOModule_Start()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XIOModule_Start </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8c.html">xiomodule.c</a>&gt;</code></p>

<p>Starts the IO Module. </p>
<p>Interrupts may be generated by the IO Module after this function is called.</p>
<p>It is necessary for the caller to connect the interrupt handler of this component to the proper interrupt source.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance to be worked on.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if the device was started successfully</li>
<li>XST_FAILURE if simulation mode was specified and it could not be set because real mode has already been entered.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Must be called after <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> initialization is completed. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_i_o_module.html#a0cee7cfb4687662370f0900c9c0b31d0">XIOModule::IsReady</a>, and <a class="el" href="struct_x_i_o_module.html#abf03d83df86afa14879087ed5f792d9d">XIOModule::IsStarted</a>.</p>

</div>
</div>
<a id="ga4cd1ece524eb5fd3d5d255027ad6a01a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4cd1ece524eb5fd3d5d255027ad6a01a">&#9670;&nbsp;</a></span>XIOModule_Stop()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIOModule_Stop </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8c.html">xiomodule.c</a>&gt;</code></p>

<p>Stops the interrupt controller by disabling the output from the controller so that no interrupts will be caused by the interrupt controller. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance to be worked on.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_i_o_module.html#a0cee7cfb4687662370f0900c9c0b31d0">XIOModule::IsReady</a>, and <a class="el" href="struct_x_i_o_module.html#abf03d83df86afa14879087ed5f792d9d">XIOModule::IsStarted</a>.</p>

</div>
</div>
<a id="gad0dad0abc10925039a42855110f8256f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad0dad0abc10925039a42855110f8256f">&#9670;&nbsp;</a></span>XIOModule_Timer_Initialize()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XIOModule_Timer_Initialize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u16&#160;</td>
          <td class="paramname"><em>DeviceId</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8c.html">xiomodule.c</a>&gt;</code></p>

<p>Initializes a specific timer instance/driver. </p>
<p>Initialize fields of the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> structure, then reset the timer</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance. </td></tr>
    <tr><td class="paramname">DeviceId</td><td>is the unique id of the device controlled by this <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> component. Passing in a device id associates the generic <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> component to a specific device, as chosen by the caller or application developer.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if initialization was successful</li>
<li>XST_DEVICE_IS_STARTED if the device has already been started</li>
<li>XST_DEVICE_NOT_FOUND if the device doesn't exist</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="group__iomodule__v2__2.html#ga367989ec098fe548ba62b58640490ec7">XIOModule_LookupConfig()</a>, and <a class="el" href="group__iomodule__v2__2.html#gaba99b973ef1f13bf0a2716cf52ca5319">XTC_DEVICE_TIMER_COUNT</a>.</p>

</div>
</div>
<a id="ga431eb19a0f6aeab9bab0cdb09fdc30ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga431eb19a0f6aeab9bab0cdb09fdc30ce">&#9670;&nbsp;</a></span>XIOModule_Timer_InterruptHandler()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIOModule_Timer_InterruptHandler </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8h.html">xiomodule.h</a>&gt;</code></p>

<p>Interrupt Service Routine (ISR) for the driver. </p>
<p>This function only performs processing for the Programmable Interval Timere and does not save and restore the interrupt context.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>contains a pointer to the IO Module instance for the interrupt.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_i_o_module.html#a3835c68413c43911f73971744614d2f9">XIOModule::BaseAddress</a>, <a class="el" href="struct_x_i_o_module.html#ad44f07ede4a771acec5e5ae601868957">XIOModule::CfgPtr</a>, <a class="el" href="struct_x_i_o_module.html#a23dc644971604b9b25ac2e217126de5e">XIOModule::CurrentIMR</a>, <a class="el" href="struct_x_i_o_module___config.html#a3ebe198577cb922a5427f7d1bb1764bd">XIOModule_Config::PitUsed</a>, <a class="el" href="group__iomodule__v2__2.html#ga35c8f39e63012c1745df6faa39fc7335">XIN_IPR_OFFSET</a>, <a class="el" href="group__iomodule__v2__2.html#ga4eaff234e65f369a870fca3b92215df4">XIOModule_ReadReg</a>, and <a class="el" href="group__iomodule__v2__2.html#gaba99b973ef1f13bf0a2716cf52ca5319">XTC_DEVICE_TIMER_COUNT</a>.</p>

</div>
</div>
<a id="ga47eeba74f17b3a38bb1f6d43d76453d6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga47eeba74f17b3a38bb1f6d43d76453d6">&#9670;&nbsp;</a></span>XIOModule_Timer_SelfTest()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XIOModule_Timer_SelfTest </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>TimerNumber</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8h.html">xiomodule.h</a>&gt;</code></p>

<p>Runs a self-test on the timer driver/device. </p>
<p>This test verifies that the specified programmable interval timer of the device can be enabled and increments.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the XIOMOdule instance. </td></tr>
    <tr><td class="paramname">TimerNumber</td><td>is the timer of the device to operate on. Each device may contain multiple timers. The timer number is a zero based number with a range of 0 to (XTC_DEVICE_TIMER_COUNT - 1).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if self-test was successful</li>
</ul>
</dd></dl>
<ul>
<li>XST_FAILURE if the timer is not incrementing.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd></dd></dl>
<p>This is a destructive test using the provided timer. The current settings of the timer are returned to the initialized values and all settings at the time this function is called are overwritten. </p>

<p class="reference">References <a class="el" href="struct_x_i_o_module.html#ad44f07ede4a771acec5e5ae601868957">XIOModule::CfgPtr</a>, <a class="el" href="struct_x_i_o_module.html#a0cee7cfb4687662370f0900c9c0b31d0">XIOModule::IsReady</a>, <a class="el" href="struct_x_i_o_module___config.html#afa1a7a766b5e49c877ef0a95f78a374f">XIOModule_Config::PitSize</a>, <a class="el" href="group__iomodule__v2__2.html#ga826357a58aeda0b2d1bfc42efd6bb94c">XIOModule_GetValue()</a>, <a class="el" href="group__iomodule__v2__2.html#gaf9ed2111d2f53ac88626030d907f374a">XIOModule_SetResetValue()</a>, <a class="el" href="group__iomodule__v2__2.html#ga719529740fbb19c3ce7d44078a2edcc1">XIOModule_Timer_SetOptions()</a>, <a class="el" href="group__iomodule__v2__2.html#ga622c3a5cd4e43543cfb445071d01e7a9">XIOModule_Timer_Start()</a>, <a class="el" href="group__iomodule__v2__2.html#ga60bd9ef270b0de7440206326ec1fe710">XIOModule_Timer_Stop()</a>, and <a class="el" href="group__iomodule__v2__2.html#gaba99b973ef1f13bf0a2716cf52ca5319">XTC_DEVICE_TIMER_COUNT</a>.</p>

</div>
</div>
<a id="ga719529740fbb19c3ce7d44078a2edcc1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga719529740fbb19c3ce7d44078a2edcc1">&#9670;&nbsp;</a></span>XIOModule_Timer_SetOptions()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIOModule_Timer_SetOptions </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>TimerNumber</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Options</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8h.html">xiomodule.h</a>&gt;</code></p>

<p>Enables the specified options for the specified timer . </p>
<p>This function sets the options without regard to the current options of the driver. To prevent a loss of the current options, the user should call XIOModule_Timer_GetOptions() prior to this function and modify the retrieved options to pass into this function to prevent loss of the current options.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance. </td></tr>
    <tr><td class="paramname">TimerNumber</td><td>is the timer of the device to operate on. Each device may contain multiple timers. The timer number is a zero based number with a range of 0 to (XTC_DEVICE_TIMER_COUNT - 1). </td></tr>
    <tr><td class="paramname">Options</td><td>contains the desired options to be set or cleared. Setting the option to '1' enables the option, clearing the to '0' disables the option. The options are bit masks such that multiple options may be set or cleared. The options are described in <a class="el" href="xiomodule_8h.html">xiomodule.h</a>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">Referenced by <a class="el" href="group__iomodule__v2__2.html#ga47eeba74f17b3a38bb1f6d43d76453d6">XIOModule_Timer_SelfTest()</a>.</p>

</div>
</div>
<a id="ga622c3a5cd4e43543cfb445071d01e7a9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga622c3a5cd4e43543cfb445071d01e7a9">&#9670;&nbsp;</a></span>XIOModule_Timer_Start()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIOModule_Timer_Start </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>TimerNumber</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8c.html">xiomodule.c</a>&gt;</code></p>

<p>Starts the specified timer counter of the device such that it starts running. </p>
<p>The timer counter is reset before it is started and the reset value is loaded into the timer counter.</p>
<p>If interrupt mode is specified in the options, it is necessary for the caller to connect the interrupt handler of the timer to the interrupt source, typically an interrupt controller, and enable the interrupt within the interrupt controller.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance. </td></tr>
    <tr><td class="paramname">TimerNumber</td><td>is the timer of the device to operate on. Each device may contain multiple timers. The timer number is a zero based number with a range of 0 to (XTC_DEVICE_TIMER_COUNT - 1).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">Referenced by <a class="el" href="group__iomodule__v2__2.html#ga47eeba74f17b3a38bb1f6d43d76453d6">XIOModule_Timer_SelfTest()</a>.</p>

</div>
</div>
<a id="ga60bd9ef270b0de7440206326ec1fe710"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga60bd9ef270b0de7440206326ec1fe710">&#9670;&nbsp;</a></span>XIOModule_Timer_Stop()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIOModule_Timer_Stop </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>TimerNumber</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8c.html">xiomodule.c</a>&gt;</code></p>

<p>Stops the timer by disabling it. </p>
<p>It is the callers' responsibility to disconnect the interrupt handler of the timer from the interrupt source, typically an interrupt controller, and disable the interrupt within the interrupt controller.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance. </td></tr>
    <tr><td class="paramname">TimerNumber</td><td>is the timer counter of the device to operate on. Each device may contain multiple timer counters. The timer number is a zero based number with a range of 0 to (XTC_DEVICE_TIMER_COUNT - 1).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">Referenced by <a class="el" href="group__iomodule__v2__2.html#ga47eeba74f17b3a38bb1f6d43d76453d6">XIOModule_Timer_SelfTest()</a>.</p>

</div>
</div>
<a id="ga5ec72d0dd352ad42de494821220e3185"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5ec72d0dd352ad42de494821220e3185">&#9670;&nbsp;</a></span>XIOModule_Uart_DisableInterrupt()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIOModule_Uart_DisableInterrupt </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8h.html">xiomodule.h</a>&gt;</code></p>

<p>This function disables the UART interrupt. </p>
<p>After calling this function, data may still be received by the UART but no interrupt will be generated since the hardware device has no way to disable the receiver.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_i_o_module.html#aa587d9b5ceed79935fa1c5cf842531d8">XIOModule::CurrentIER</a>, and <a class="el" href="struct_x_i_o_module.html#a0cee7cfb4687662370f0900c9c0b31d0">XIOModule::IsReady</a>.</p>

</div>
</div>
<a id="gaa805a7f9982d9acc5b3b16849c5d2dfd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa805a7f9982d9acc5b3b16849c5d2dfd">&#9670;&nbsp;</a></span>XIOModule_Uart_EnableInterrupt()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIOModule_Uart_EnableInterrupt </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8h.html">xiomodule.h</a>&gt;</code></p>

<p>This function enables the UART interrupts such that an interrupt will occur when data is received or data has been transmitted. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_i_o_module.html#aa587d9b5ceed79935fa1c5cf842531d8">XIOModule::CurrentIER</a>, and <a class="el" href="struct_x_i_o_module.html#a0cee7cfb4687662370f0900c9c0b31d0">XIOModule::IsReady</a>.</p>

</div>
</div>
<a id="gacf2a67095f9797403f5c269fdcd7a6b2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacf2a67095f9797403f5c269fdcd7a6b2">&#9670;&nbsp;</a></span>XIOModule_Uart_InterruptHandler()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIOModule_Uart_InterruptHandler </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_i_o_module.html">XIOModule</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule_8h.html">xiomodule.h</a>&gt;</code></p>

<p>This function is the interrupt handler for the UART. </p>
<p>It must be connected to an interrupt system by the user such that it is called when an interrupt for any UART lite occurs. This function does not save or restore the processor context such that the user must ensure this occurs.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>contains a pointer to the instance of the IOModule that the interrupt is for.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_i_o_module.html#a3835c68413c43911f73971744614d2f9">XIOModule::BaseAddress</a>, <a class="el" href="group__iomodule__v2__2.html#ga313c2576e159fd472cb0b25b7a395837">XIOModule_GetStatusReg</a>, and <a class="el" href="group__iomodule__v2__2.html#ga7a1722c4c799b50641831e1d092d9893">XUL_SR_RX_FIFO_VALID_DATA</a>.</p>

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="gafab2167a879586e6baa45e8706ed6a6a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafab2167a879586e6baa45e8706ed6a6a">&#9670;&nbsp;</a></span>XIOModule_ConfigTable <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_x_i_o_module___config.html">XIOModule_Config</a> XIOModule_ConfigTable[XPAR_XIOMODULE_NUM_INSTANCES]</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__g_8c.html">xiomodule_g.c</a>&gt;</code></p>

<p>This table contains configuration information for each iomodule device in the system. </p>
<p>The <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> driver must know when to acknowledge the interrupt. The entry which specifies this as a bit mask where each bit corresponds to a specific interrupt. A bit set indicates to ack it before servicing it. Generally, acknowledge before service is used when the interrupt signal is edge-sensitive, and after when the signal is level-sensitive.</p>
<p>Refer to the <a class="el" href="struct_x_i_o_module___config.html" title="This typedef contains configuration information for the device. ">XIOModule_Config</a> data structure in <a class="el" href="xiomodule_8h.html">xiomodule.h</a> for details on how this table should be initialized. </p>

<p class="reference">Referenced by <a class="el" href="group__iomodule__v2__2.html#ga2e47bfda481c3ceab60d758f049758ef">XIOModule_DeviceInterruptHandler()</a>, and <a class="el" href="group__iomodule__v2__2.html#ga367989ec098fe548ba62b58640490ec7">XIOModule_LookupConfig()</a>.</p>

</div>
</div>
<a id="ga9b86656d30db376521bc3f4b63985499"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9b86656d30db376521bc3f4b63985499">&#9670;&nbsp;</a></span>XIOModule_ConfigTable <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_x_i_o_module___config.html">XIOModule_Config</a> XIOModule_ConfigTable[]</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xiomodule__i_8h.html">xiomodule_i.h</a>&gt;</code></p>

<p>This table contains configuration information for each iomodule device in the system. </p>
<p>The <a class="el" href="struct_x_i_o_module.html" title="The XIOModule driver instance data. ">XIOModule</a> driver must know when to acknowledge the interrupt. The entry which specifies this as a bit mask where each bit corresponds to a specific interrupt. A bit set indicates to ack it before servicing it. Generally, acknowledge before service is used when the interrupt signal is edge-sensitive, and after when the signal is level-sensitive.</p>
<p>Refer to the <a class="el" href="struct_x_i_o_module___config.html" title="This typedef contains configuration information for the device. ">XIOModule_Config</a> data structure in <a class="el" href="xiomodule_8h.html">xiomodule.h</a> for details on how this table should be initialized. </p>

<p class="reference">Referenced by <a class="el" href="group__iomodule__v2__2.html#ga2e47bfda481c3ceab60d758f049758ef">XIOModule_DeviceInterruptHandler()</a>, and <a class="el" href="group__iomodule__v2__2.html#ga367989ec098fe548ba62b58640490ec7">XIOModule_LookupConfig()</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Copyright &copy; 2015 Xilinx Inc. All rights reserved.</li>
  </ul>
</div>
</body>
</html>
